Fixes in login
This commit is contained in:
parent
a63ab64876
commit
cd0fdacbb7
2 changed files with 26 additions and 7 deletions
|
|
@ -22,6 +22,12 @@ login_tries=5
|
|||
|
||||
if hasattr(config, 'login_tries'):
|
||||
login_tries=config.login_tries
|
||||
|
||||
seconds_login=300
|
||||
|
||||
if hasattr(config, 'seconds_login'):
|
||||
seconds_login=config.seconds_login
|
||||
|
||||
|
||||
#useradmin.create_forms()
|
||||
|
||||
|
|
@ -76,7 +82,7 @@ class UserAdmin(BaseModel):
|
|||
remember_login: bool | None = None
|
||||
|
||||
class ResponseDataLogin(ResponseData):
|
||||
login_tries: bool
|
||||
no_login: bool
|
||||
|
||||
@admin_app.post('/login')
|
||||
def check_login_admin(user: UserAdmin, request: Request) -> ResponseDataLogin:
|
||||
|
|
@ -106,7 +112,7 @@ def check_login_admin(user: UserAdmin, request: Request) -> ResponseDataLogin:
|
|||
|
||||
db.close()
|
||||
|
||||
return {'error': error, 'message': message, 'login_tries': no_login}
|
||||
return {'error': error, 'message': message, 'no_login': no_login}
|
||||
|
||||
class UserSignup(BaseModel):
|
||||
username: str = Field(description="The username of new user", min_length=4, pattern=r"\w+")
|
||||
|
|
@ -183,15 +189,15 @@ def check_login_tries(request, db):
|
|||
|
||||
you_cannot_login=0
|
||||
|
||||
arr_try=logintries.set_conditions('WHERE ip=%s', [ip]).select_a_row_where()
|
||||
|
||||
now_str=now()
|
||||
date_now=format_local_strtime('YYYY-MM-DD HH:mm:ss', now_str)
|
||||
|
||||
date_check=format_local_strtime('YYYY-MM-DD HH:mm:ss', timestamp_to_datetime(obtain_timestamp(now_str)-300))
|
||||
date_check=format_local_strtime('YYYY-MM-DD HH:mm:ss', timestamp_to_datetime(obtain_timestamp(now_str)-seconds_login))
|
||||
|
||||
logintries.query('delete from logintries where last_login<%s', [date_check])
|
||||
|
||||
arr_try=logintries.set_conditions('WHERE ip=%s', [ip]).select_a_row_where()
|
||||
|
||||
if arr_try:
|
||||
|
||||
if arr_try['num_tries']<login_tries:
|
||||
|
|
|
|||
|
|
@ -39,8 +39,8 @@
|
|||
<div class="mb-3">
|
||||
<label for="password_form" class="form-label">Password</label>
|
||||
<input type="password" class="form-control form-control-lg has-validation" id="password_form" name="password" autocomplete="off" required>
|
||||
<div class="invalid-feedback">
|
||||
${tlang('You need a valid username and password')}
|
||||
<div class="invalid-feedback" id="login_invalid">
|
||||
${tlang('Error: username or password invalid')}
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3 form-check">
|
||||
|
|
@ -131,6 +131,19 @@
|
|||
|
||||
$('#username_form').get(0).setCustomValidity("${tlang('Error: username or password invalid')}");
|
||||
$('#password_form').get(0).setCustomValidity("${tlang('Error: username or password invalid')}");
|
||||
|
||||
console.log(JSON.stringify(data));
|
||||
|
||||
if(data.no_login) {
|
||||
|
||||
$('#login_invalid').html("${tlang('Error: you try login excessive times, please wait some minutes for try again')}");
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
$('#login_invalid').html("${tlang('Error: username or password invalid')}");
|
||||
|
||||
}
|
||||
|
||||
$('#login_submit').prop('disabled', false);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue