Fill login form on failed sign in
This commit is contained in:
parent
9868f900e9
commit
e031dad1e7
4 changed files with 8 additions and 7 deletions
|
@ -10,10 +10,10 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<label for="form-username">{{ t "Username" }}</label>
|
<label for="form-username">{{ t "Username" }}</label>
|
||||||
<input type="text" name="username" id="form-username" required autofocus>
|
<input type="text" name="username" id="form-username" value="{{ .form.Username }}" required autofocus>
|
||||||
|
|
||||||
<label for="form-password">{{ t "Password" }}</label>
|
<label for="form-password">{{ t "Password" }}</label>
|
||||||
<input type="password" name="password" id="form-password" required>
|
<input type="password" name="password" id="form-password" value="{{ .form.Password }}" required>
|
||||||
|
|
||||||
<div class="buttons">
|
<div class="buttons">
|
||||||
<button type="submit" class="button button-primary" data-label-loading="{{ t "Loading..." }}">{{ t "Sign in" }}</button>
|
<button type="submit" class="button button-primary" data-label-loading="{{ t "Loading..." }}">{{ t "Sign in" }}</button>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// Code generated by go generate; DO NOT EDIT.
|
// Code generated by go generate; DO NOT EDIT.
|
||||||
// 2017-12-22 11:25:01.96909666 -0800 PST m=+0.034064422
|
// 2017-12-22 16:02:42.156291192 -0800 PST m=+0.011241908
|
||||||
|
|
||||||
package template
|
package template
|
||||||
|
|
||||||
|
@ -974,10 +974,10 @@ var templateViewsMap = map[string]string{
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<label for="form-username">{{ t "Username" }}</label>
|
<label for="form-username">{{ t "Username" }}</label>
|
||||||
<input type="text" name="username" id="form-username" required autofocus>
|
<input type="text" name="username" id="form-username" value="{{ .form.Username }}" required autofocus>
|
||||||
|
|
||||||
<label for="form-password">{{ t "Password" }}</label>
|
<label for="form-password">{{ t "Password" }}</label>
|
||||||
<input type="password" name="password" id="form-password" required>
|
<input type="password" name="password" id="form-password" value="{{ .form.Password }}" required>
|
||||||
|
|
||||||
<div class="buttons">
|
<div class="buttons">
|
||||||
<button type="submit" class="button button-primary" data-label-loading="{{ t "Loading..." }}">{{ t "Sign in" }}</button>
|
<button type="submit" class="button button-primary" data-label-loading="{{ t "Loading..." }}">{{ t "Sign in" }}</button>
|
||||||
|
@ -1336,7 +1336,7 @@ var templateViewsMapChecksums = map[string]string{
|
||||||
"history": "abc7ea29f7d54f28f73fe14979bbd03dbc41fa6a7c86f95f56d6e94f7b09b9ba",
|
"history": "abc7ea29f7d54f28f73fe14979bbd03dbc41fa6a7c86f95f56d6e94f7b09b9ba",
|
||||||
"import": "73b5112e20bfd232bf73334544186ea419505936bc237d481517a8622901878f",
|
"import": "73b5112e20bfd232bf73334544186ea419505936bc237d481517a8622901878f",
|
||||||
"integrations": "3c14d7de904911aad7f3ebec6d1a20b50843287f58125c526e167f429f3d455d",
|
"integrations": "3c14d7de904911aad7f3ebec6d1a20b50843287f58125c526e167f429f3d455d",
|
||||||
"login": "04f3ce79bfa5753f69e0d956c2a8999c0da549c7925634a3e8134975da0b0e0f",
|
"login": "7d83c3067c02f1f6aafdd8816c7f97a4eb5a5a4bdaaaa4cc1e2fbb9c17ea65e8",
|
||||||
"sessions": "878dbe8f8ea783b44130c495814179519fa5c3aa2666ac87508f94d58dd008bf",
|
"sessions": "878dbe8f8ea783b44130c495814179519fa5c3aa2666ac87508f94d58dd008bf",
|
||||||
"settings": "ea2505b9d0a6d6bb594dba87a92079de19baa6d494f0651693a7685489fb7de9",
|
"settings": "ea2505b9d0a6d6bb594dba87a92079de19baa6d494f0651693a7685489fb7de9",
|
||||||
"starred": "33dd40d1a24739e9d05f9cc4b66497cfdb8c86a7abb209a66ca65c2fbafc7d87",
|
"starred": "33dd40d1a24739e9d05f9cc4b66497cfdb8c86a7abb209a66ca65c2fbafc7d87",
|
||||||
|
|
|
@ -31,6 +31,7 @@ func (c *Controller) CheckLogin(ctx *core.Context, request *core.Request, respon
|
||||||
tplParams := tplParams{
|
tplParams := tplParams{
|
||||||
"errorMessage": "Invalid username or password.",
|
"errorMessage": "Invalid username or password.",
|
||||||
"csrf": ctx.CSRF(),
|
"csrf": ctx.CSRF(),
|
||||||
|
"form": authForm,
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := authForm.Validate(); err != nil {
|
if err := authForm.Validate(); err != nil {
|
||||||
|
|
|
@ -338,7 +338,7 @@ func (s *Storage) CheckPassword(username, password string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := bcrypt.CompareHashAndPassword([]byte(hash), []byte(password)); err != nil {
|
if err := bcrypt.CompareHashAndPassword([]byte(hash), []byte(password)); err != nil {
|
||||||
return fmt.Errorf("invalid password for %s", username)
|
return fmt.Errorf(`invalid password for "%s" (%v)`, username, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
Loading…
Reference in a new issue