1234567891011121314151617181920212223242526272829303132 |
- package user
- import (
- "errors"
- "github.com/0xJacky/Nginx-UI/model"
- "github.com/0xJacky/Nginx-UI/query"
- "golang.org/x/crypto/bcrypt"
- )
- var (
- ErrPasswordIncorrect = errors.New("password incorrect")
- ErrUserBanned = errors.New("user banned")
- )
- func Login(name string, password string) (user *model.Auth, err error) {
- u := query.Auth
- user, err = u.Where(u.Name.Eq(name)).First()
- if err != nil {
- return nil, ErrPasswordIncorrect
- }
- if err = bcrypt.CompareHashAndPassword([]byte(user.Password), []byte(password)); err != nil {
- return nil, ErrPasswordIncorrect
- }
- if !user.Status {
- return nil, ErrUserBanned
- }
- return
- }
|