An open API service indexing awesome lists of open source software.

https://github.com/bearddan2000/scala-web-gradle-spring-thyme-reset-remeber-me-insecure

A springboot secure web app with thymeleaf support.
https://github.com/bearddan2000/scala-web-gradle-spring-thyme-reset-remeber-me-insecure

bootstrap datatable gradle insecure jquery me remeber reset scala spring springboot thyme thymeleaf web

Last synced: 2 months ago
JSON representation

A springboot secure web app with thymeleaf support.

Awesome Lists containing this project

README

        

# scala-web-gradle-spring-thyme-reset-remeber-me-insecure

## Description
A springboot secure web app with thymeleaf support.
Three roles are defined; USER, ADMIN, and SUPER. All roles
can access pages `/home`, `/login`, and `/about`. Only USER
can access `/user` and ADMIN only `/admin` whereas SUPER can
navigate to either and have its own `/super`. Each role
has an action USER=VIEW ONLY, ADMIN=READ/WRITE, SUPER=CREATE.
All password are encoded with bcrypt.

Presents a register form to create an inMemoryUser.
Once the user is created it is given the `USER` role
by default and auto logged in.

Presents a reset form to reset passwords on any user,
by default the user is reassigned `USER` role and auto
logged in. Only restriction on passwords are they match;
all validation is done client side.

Uses the rememberMe cookie for a 2 min window
this as well as other setting can be found in
`config/Security.scala`. One way to test is the following:
- Set rememberMe checkbox
- login
- set a bookmark to the secured page
- open a new window
- use the bookmark

rememberMe cookie does not redirect it only authenticates.

## Tech stack
- scala
- gradle
- springboot
- thymeleaf
- bootstrap
- jquery
- datatable

## Docker stack
- gradle:jdk11

## To run
`sudo ./install.sh -u`
Available at http://localhost
- Login with id: user and password: pass
- Login with id: admin and password: pass
- Login with id: super and password: pass

## To stop (optional)
`sudo ./install.sh -d`

## For help
`sudo ./install.sh -h`