diff --git a/enforcer.go b/enforcer.go index 3914cc8..f26fb44 100644 --- a/enforcer.go +++ b/enforcer.go @@ -214,7 +214,7 @@ func (e *Enforcer) LoginByModel(id string, loginModel *model.Login, ctx ctx.Cont if session = e.GetSession(id); session == nil { session = model.NewSession("0", "account-session", id) } - session.AddTokenSign(&model.TokenSign{ + session.AddDistinctValueTokenSign(&model.TokenSign{ Value: tokenValue, Device: device, }) diff --git a/enforcer_test.go b/enforcer_test.go index 453cf1d..3428974 100644 --- a/enforcer_test.go +++ b/enforcer_test.go @@ -440,11 +440,11 @@ func TestEnforcer_JsonAdapter(t *testing.T) { t.Fatalf("NewEnforcer() failed: %v", err) } newSession := model.NewSession("1", "2", "3") - newSession.AddTokenSign(&model.TokenSign{ + newSession.AddDistinctValueTokenSign(&model.TokenSign{ Value: "2", Device: "device", }) - newSession.AddTokenSign(&model.TokenSign{ + newSession.AddDistinctValueTokenSign(&model.TokenSign{ Value: "3", Device: "device", }) diff --git a/model/session.go b/model/session.go index 6480133..5f47459 100644 --- a/model/session.go +++ b/model/session.go @@ -93,6 +93,11 @@ func (s *Session) GetTokenSign(tokenValue string) *TokenSign { // AddTokenSign add TokenSign func (s *Session) AddTokenSign(sign *TokenSign) { + s.TokenSignList = append(s.TokenSignList, sign) +} + +// AddDistinctValueTokenSign check tokenValue ,then add TokenSign +func (s *Session) AddDistinctValueTokenSign(sign *TokenSign) { if s.GetTokenSign(sign.Value) != nil { return }