fix: admin 登录后 JWT 未携带 is_admin 的问题
This commit is contained in:
@@ -31,7 +31,7 @@ func NewLoginLogic(ctx context.Context, svcCtx *svc.ServiceContext) *LoginLogic
|
|||||||
func (l *LoginLogic) Login(in *pb.LoginReq) (*pb.LoginResp, error) {
|
func (l *LoginLogic) Login(in *pb.LoginReq) (*pb.LoginResp, error) {
|
||||||
user, err := l.svcCtx.UsersModelRO.Users.Query().
|
user, err := l.svcCtx.UsersModelRO.Users.Query().
|
||||||
Where(users.UsernameEQ(in.Username)).
|
Where(users.UsernameEQ(in.Username)).
|
||||||
Select(users.FieldID, users.FieldUsername, users.FieldPasswordHash, users.FieldEmail).
|
Select(users.FieldID, users.FieldUsername, users.FieldPasswordHash, users.FieldEmail, users.FieldIsAdmin).
|
||||||
First(l.ctx)
|
First(l.ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logx.WithContext(l.ctx).Errorf("LoginLogic.Login error:%v", err)
|
logx.WithContext(l.ctx).Errorf("LoginLogic.Login error:%v", err)
|
||||||
@@ -45,7 +45,7 @@ func (l *LoginLogic) Login(in *pb.LoginReq) (*pb.LoginResp, error) {
|
|||||||
|
|
||||||
token, err := l.svcCtx.JwtManager.New(l.ctx, &utils2.TokenPayload{
|
token, err := l.svcCtx.JwtManager.New(l.ctx, &utils2.TokenPayload{
|
||||||
UserId: user.ID,
|
UserId: user.ID,
|
||||||
IsAdmin: false,
|
IsAdmin: user.IsAdmin,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logx.Errorf("LoginLogic.Login gen jwt for user %v error:%v", user.ID, err)
|
logx.Errorf("LoginLogic.Login gen jwt for user %v error:%v", user.ID, err)
|
||||||
|
|||||||
Reference in New Issue
Block a user