本文整理汇总了Golang中github.com/keep94/appcommon/session_util.UserIdSession.SetUserId方法的典型用法代码示例。如果您正苦于以下问题:Golang UserIdSession.SetUserId方法的具体用法?Golang UserIdSession.SetUserId怎么用?Golang UserIdSession.SetUserId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/keep94/appcommon/session_util.UserIdSession
的用法示例。
在下文中一共展示了UserIdSession.SetUserId方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestSessionUserId
func TestSessionUserId(t *testing.T) {
s := session_util.UserIdSession{&sessions.Session{Values: make(map[interface{}]interface{})}}
s.SetUserId(kUserId)
s.SetLastLogin(kNow)
id, ok := s.UserId()
if !ok {
t.Error("Expected a UserId")
}
if id != kUserId {
t.Errorf("Expected %d, got %d", kUserId, id)
}
s.ClearUserId()
id, ok = s.UserId()
if ok {
t.Error("Did not expect a user Id.")
}
lastLogin, ok := s.LastLogin()
if !ok {
t.Error("Expected a last login")
}
if lastLogin != kNow {
t.Errorf("Expected %v, got %v", kNow, lastLogin)
}
s.ClearLastLogin()
_, ok = s.LastLogin()
if ok {
t.Error("Did not expect a last login.")
}
}
示例2: newSessionStoreWithUserId
func newSessionStoreWithUserId(sessionId string, userId int64) sessions.Store {
result := ramstore.NewRAMStore(900)
sessionData := make(map[interface{}]interface{})
s := session_util.UserIdSession{&sessions.Session{Values: sessionData}}
s.SetUserId(userId)
result.Data.Save(sessionId, sessionData)
return result
}
示例3: TestXsrfToken
func TestXsrfToken(t *testing.T) {
s := session_util.UserIdSession{&sessions.Session{Values: make(map[interface{}]interface{})}}
s.SetUserId(kUserId)
xsrfToken := s.NewXsrfToken("MyPage", kNow.Add(15*time.Minute))
if !s.VerifyXsrfToken(xsrfToken, "MyPage", kNow.Add(14*time.Minute)) {
t.Error("Expected token to verify")
}
if s.VerifyXsrfToken(
xsrfToken, "AnotherPage", kNow.Add(14*time.Minute)) {
t.Error("Expected token not to verify. Wrong page")
}
if s.VerifyXsrfToken(xsrfToken, "MyPage", kNow.Add(15*time.Minute)) {
t.Error("Expected token not to verify. Time expired")
}
}
示例4: TestXsrfTokenClearAll
func TestXsrfTokenClearAll(t *testing.T) {
s := session_util.UserIdSession{&sessions.Session{Values: make(map[interface{}]interface{})}}
s.SetUserId(kUserId)
xsrfToken := s.NewXsrfToken("MyPage", kNow.Add(15*time.Minute))
if !s.VerifyXsrfToken(xsrfToken, "MyPage", kNow) {
t.Error("Expected token to verify")
}
s.ClearAll()
if s.VerifyXsrfToken(xsrfToken, "MyPage", kNow) {
t.Error("Expected token not to verify. Session cleared")
}
s.SetUserId(kUserId)
if s.VerifyXsrfToken(xsrfToken, "MyPage", kNow) {
t.Error("Expected token not to verify. Secret should have changed.")
}
}
示例5: TestXsrfTokenHack
func TestXsrfTokenHack(t *testing.T) {
s := session_util.UserIdSession{&sessions.Session{Values: make(map[interface{}]interface{})}}
s.SetUserId(kUserId)
xsrfToken := s.NewXsrfToken("MyPage", kNow.Add(15*time.Minute))
if !s.VerifyXsrfToken(xsrfToken, "MyPage", kNow) {
t.Error("Expected token to verify")
}
if xsrfToken[10] != ':' {
t.Error("Expected field dlimiter in xsrf token")
}
xsrfExpire := xsrfToken[:10]
xsrfChecksum := xsrfToken[11:]
if s.VerifyXsrfToken("", "MyPage", kNow) {
t.Error("Missing token should not verify.")
}
if s.VerifyXsrfToken("garbage", "MyPage", kNow) {
t.Error("garbage token should not verify.")
}
if s.VerifyXsrfToken("garbage:with_field_delimiter", "MyPage", kNow) {
t.Error("garbage with field delimiter token should not verify.")
}
if s.VerifyXsrfToken(
xsrfExpire+":garbage_checksum", "MyPage", kNow) {
t.Error("token with garbage checksum should not verify.")
}
// Add one to expire in token but leave checksum the same.
expire, err := strconv.Atoi(xsrfExpire)
if err != nil {
t.Errorf("Error happened parsing timestamp %v", err)
}
regularToken := fmt.Sprintf("%d:%s", expire, xsrfChecksum)
hackedToken := fmt.Sprintf("%d:%s", expire+1, xsrfChecksum)
if !s.VerifyXsrfToken(regularToken, "MyPage", kNow) {
t.Error("Expected regular token to verify")
}
if s.VerifyXsrfToken(hackedToken, "MyPage", kNow) {
t.Error("Expected hacked token not to verify")
}
}