|
|
|
@ -26,6 +26,7 @@ import ( |
|
|
|
"fmt" |
|
|
|
"fmt" |
|
|
|
"github.com/gorilla/securecookie" |
|
|
|
"github.com/gorilla/securecookie" |
|
|
|
"sync" |
|
|
|
"sync" |
|
|
|
|
|
|
|
"time" |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
var sessionNonces *securecookie.SecureCookie |
|
|
|
var sessionNonces *securecookie.SecureCookie |
|
|
|
@ -40,6 +41,7 @@ type Session struct { |
|
|
|
Prio int |
|
|
|
Prio int |
|
|
|
mutex sync.RWMutex |
|
|
|
mutex sync.RWMutex |
|
|
|
userid string |
|
|
|
userid string |
|
|
|
|
|
|
|
stamp int64 |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func NewSession(id, sid string) *Session { |
|
|
|
func NewSession(id, sid string) *Session { |
|
|
|
@ -48,6 +50,7 @@ func NewSession(id, sid string) *Session { |
|
|
|
Id: id, |
|
|
|
Id: id, |
|
|
|
Sid: sid, |
|
|
|
Sid: sid, |
|
|
|
Prio: 100, |
|
|
|
Prio: 100, |
|
|
|
|
|
|
|
stamp: time.Now().Unix(), |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
@ -119,6 +122,7 @@ func (s *Session) Authenticate(realm string, st *SessionToken, userid string) er |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
s.userid = userid |
|
|
|
s.userid = userid |
|
|
|
|
|
|
|
s.stamp = time.Now().Unix() |
|
|
|
s.UpdateRev++ |
|
|
|
s.UpdateRev++ |
|
|
|
return nil |
|
|
|
return nil |
|
|
|
|
|
|
|
|
|
|
|
@ -143,6 +147,8 @@ func (s *Session) Data() *DataSession { |
|
|
|
Ua: s.Ua, |
|
|
|
Ua: s.Ua, |
|
|
|
Status: s.Status, |
|
|
|
Status: s.Status, |
|
|
|
Rev: s.UpdateRev, |
|
|
|
Rev: s.UpdateRev, |
|
|
|
|
|
|
|
Prio: s.Prio, |
|
|
|
|
|
|
|
stamp: s.stamp, |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|