- Добавил шифрование паролей в БД.

- Добавил валидацию полей ввода.
https://www.youtube.com/watch?v=AdLXmE4rjy4&list=PLU2ftbIeotGpAYRP9Iv2KLIwK36-o_qYk&index=14
This commit is contained in:
Leonid
2025-02-19 09:41:16 +03:00
parent 9a41c4caae
commit 4bf7fb22c6
12 changed files with 161 additions and 33 deletions

View File

@@ -1,5 +1,5 @@
insert into usr (id, username, password, enabled)
values (1, 'admin', '{noop}admin', true);
values (1, 'admin', '$2a$12$.XB1cxFOs6F8vgouixcTP.TaY2GXwFspYHID12JpLwotvoYI0JwnC', true);
insert into user_role (user_id, roles)
values (1, 'USER'), (1, 'ADMIN');

View File

@@ -2,8 +2,10 @@
<#import "parts/login.ftl" as l>
<@com.page>
<#if message??>
<div class="mb-3"> ${message} </div>
<#if Session?? && Session.SPRING_SECURITY_LAST_EXCEPTION??>
<div class="alert alert-danger" role="alert">
${Session.SPRING_SECURITY_LAST_EXCEPTION.message}
</div>
</#if>
<@l.login "/login" false/>
</@com.page>

View File

@@ -12,14 +12,26 @@
aria-controls="collapseExample">
Click to add message
</a>
<div class="collapse" id="collapseExample">
<div class="collapse <#if message??>show</#if>" id="collapseExample">
<div class="form-group mt-3">
<form method="post" enctype="multipart/form-data">
<div class="form-group">
<input type="text" class="form-control" name="text" placeholder="Text"/>
<input type="text" class="form-control ${(textError??)?string('is-invalid', '')}"
value="<#if message??>${message.text}</#if>" name="text" placeholder="Text" />
<#if textError??>
<div class="invalid-feedback">
${textError}
</div>
</#if>
</div>
<div class="form-group">
<input type="text" class="form-control" name="tag" placeholder="Tag">
<input type="text" class="form-control ${(tagError??)?string('is-invalid', '')}"
value="<#if message??>${message.tag}</#if>" name="tag" placeholder="Tag">
<#if tagError??>
<div class="invalid-feedback">
${tagError}
</div>
</#if>
</div>
<div class="form-group">
<div class="custom-file">

View File

@@ -3,24 +3,57 @@
<div class="row mb-3">
<label class="col-sm-2 col-form-label"> User Name:</label>
<div class="col-sm-6">
<input type="text" class="form-control" name="username" placeholder="User name"/>
<input type="text" name="username" value="<#if user??>${user.username}</#if>"
class="form-control ${(usernameError??)?string('is-invalid', '')}"
placeholder="User name"/>
<#if usernameError??>
<div class="invalid-feedback">
${usernameError}
</div>
</#if>
</div>
</div>
<div class="row mb-3">
<label for="inputPassword3" class="col-sm-2 col-form-label"> Password: </label>
<div class="col-sm-6">
<input type="password" class="form-control" name="password" placeholder="Password">
<input type="password" name="password"
class="form-control ${(passwordError??)?string('is-invalid', '')}"
placeholder="Password"/>
<#if passwordError??>
<div class="invalid-feedback">
${passwordError}
</div>
</#if>
</div>
</div>
<#if isRegistrationForm>
<div class="form-group row">
<label class="col-sm-2 col-form-label">Password:</label>
<div class="col-sm-6">
<input type="password" name="password2"
class="form-control ${(password2Error??)?string('is-invalid', '')}"
placeholder="Confirm password"/>
<#if password2Error??>
<div class="invalid-feedback">
${password2Error}
</div>
</#if>
</div>
</div>
<div class="row mb-3">
<label class="col-sm-2 col-form-label"> E-mail:</label>
<div class="col-sm-6">
<input type="email" class="form-control" name="email" placeholder="E-mail"/>
<input type="email" name="email" value="<#if user??>${user.email}</#if>"
class="form-control ${(emailError??)?string('is-invalid', '')}"
placeholder="E-m@il"/>
<#if emailError??>
<div class="invalid-feedback">
${emailError}
</div>
</#if>
</div>
</div>
</#if>
<#if !isRegistrationForm>
<a href="/registration" class="btn btn-primary">Add new user</a>
</#if>