mirror of
https://github.com/weloe/token-go.git
synced 2025-10-05 15:36:50 +08:00
feat: add CheckLogin() method to check if is login
This commit is contained in:
@@ -355,6 +355,14 @@ func (e *Enforcer) IsLogin(ctx ctx.Context) (bool, error) {
|
|||||||
return e.validateValue(str)
|
return e.validateValue(str)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (e *Enforcer) CheckLogin(ctx ctx.Context) error {
|
||||||
|
_, err := e.GetLoginId(ctx)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (e *Enforcer) GetLoginId(ctx ctx.Context) (string, error) {
|
func (e *Enforcer) GetLoginId(ctx ctx.Context) (string, error) {
|
||||||
tokenValue := e.GetRequestToken(ctx)
|
tokenValue := e.GetRequestToken(ctx)
|
||||||
str := e.adapter.GetStr(e.spliceTokenKey(tokenValue))
|
str := e.adapter.GetStr(e.spliceTokenKey(tokenValue))
|
||||||
|
@@ -24,6 +24,8 @@ type IEnforcer interface {
|
|||||||
|
|
||||||
GetRequestToken(ctx ctx.Context) string
|
GetRequestToken(ctx ctx.Context) string
|
||||||
|
|
||||||
|
CheckLogin(ctx ctx.Context) error
|
||||||
|
|
||||||
SetType(t string)
|
SetType(t string)
|
||||||
GetType() string
|
GetType() string
|
||||||
GetAdapter() persist.Adapter
|
GetAdapter() persist.Adapter
|
||||||
|
@@ -192,6 +192,10 @@ func TestEnforcer_Login(t *testing.T) {
|
|||||||
session := enforcer.GetSession("1")
|
session := enforcer.GetSession("1")
|
||||||
t.Logf("id = %v session.tokenSign len = %v", "1", session.TokenSignList.Len())
|
t.Logf("id = %v session.tokenSign len = %v", "1", session.TokenSignList.Len())
|
||||||
|
|
||||||
|
err = enforcer.CheckLogin(ctx)
|
||||||
|
if err == nil {
|
||||||
|
t.Errorf("CheckLogin() failed: CheckLogin() return nil")
|
||||||
|
}
|
||||||
login, err = enforcer.IsLoginById(loginId)
|
login, err = enforcer.IsLoginById(loginId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Logf("%v error: %v", login, err)
|
t.Logf("%v error: %v", login, err)
|
||||||
|
Reference in New Issue
Block a user