Documentation
¶
Index ¶
- type Manager
- func (manager *Manager) GC()
- func (manager *Manager) GetActiveSession() ([]string, error)
- func (manager *Manager) GetProvider() Provider
- func (manager *Manager) GetSessionStore(sid string) (sessions store.Store, err error)
- func (manager *Manager) MgrDestroyToken(userId string) (err error)
- func (manager *Manager) SessionDestroy(w http.ResponseWriter, r *http.Request)
- func (manager *Manager) SessionRegenerateID(w http.ResponseWriter, r *http.Request) (session store.Store)
- func (manager *Manager) SessionStart(w http.ResponseWriter, r *http.Request) (session store.Store, err error)
- func (manager *Manager) SetSecure(secure bool)
- func (manager *Manager) TokenDestroy(sid string) error
- func (manager *Manager) TokenMgrCreate(userId, token string) (session store.Store, err error)
- func (manager *Manager) TokenStart() (session store.Store, err error)
- func (manager *Manager) TokenStartExpired(ttl time.Duration) (session store.Store, err error)
- type ManagerConfig
- type Provider
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager contains Provider and its configuration.
func NewManager ¶
func NewManager(provideName string, cf *ManagerConfig) (*Manager, error)
NewManager Create new Manager with provider name and json config string. provider name: 1. cookie 2. file 3. memory 4. redis 5. mysql json config: 1. is https default false 2. hashfunc default sha1 3. hashkey default beegosessionkey 4. maxage default is none
func (*Manager) GC ¶
func (manager *Manager) GC()
GC Start session gc process. it can do gc in times after gc lifetime.
func (*Manager) GetActiveSession ¶
GetActiveSession Get all active sessions id.
func (*Manager) GetProvider ¶
GetProvider return current manager's provider
func (*Manager) GetSessionStore ¶
GetSessionStore Get SessionStore by its id.
func (*Manager) MgrDestroyToken ¶
func (*Manager) SessionDestroy ¶
func (manager *Manager) SessionDestroy(w http.ResponseWriter, r *http.Request)
SessionDestroy Destroy session by its id in http request cookie.
func (*Manager) SessionRegenerateID ¶
func (manager *Manager) SessionRegenerateID(w http.ResponseWriter, r *http.Request) (session store.Store)
SessionRegenerateID Regenerate a session id for this SessionStore who's id is saving in http request.
func (*Manager) SessionStart ¶
func (manager *Manager) SessionStart(w http.ResponseWriter, r *http.Request) (session store.Store, err error)
SessionStart generate or read the session id from http request. if session id exists, return SessionStore with this id.
func (*Manager) TokenMgrCreate ¶
生成token与用户映射
func (*Manager) TokenStart ¶
生成token
type ManagerConfig ¶
type ManagerConfig struct {
CookieName string `json:"cookieName"`
EnableSetCookie bool `json:"enableSetCookie,omitempty"`
Gclifetime int64 `json:"gclifetime"`
Maxlifetime int64 `json:"maxLifetime"`
DisableHTTPOnly bool `json:"disableHTTPOnly"`
Secure bool `json:"secure"`
CookieLifeTime int `json:"cookieLifeTime"`
ProviderConfig string `json:"providerConfig"`
ProviderConfigMgr string `json:"providerConfigMgr,omitempty"`
Domain string `json:"domain"`
SessionIDLength int64 `json:"sessionIDLength"`
EnableSidInHTTPHeader bool `json:"EnableSidInHTTPHeader"`
SessionNameInHTTPHeader string `json:"SessionNameInHTTPHeader"`
EnableSidInURLQuery bool `json:"EnableSidInURLQuery"`
SessionIDPrefix string `json:"sessionIDPrefix"`
}
ManagerConfig define the session config
type Provider ¶
type Provider interface {
SessionInit(lifetime int64, config string) error
SessionNew(sid string, lifetime int64) (store.Store, error)
SessionRead(sid string) (store.Store, error)
SessionExist(sid string) bool
SessionRegenerate(oldsid, sid string) (store.Store, error)
SessionDestroy(sid string) error
SessionAll() ([]string, error) //get all active session
SessionGC()
}
Provider contains global session methods and saved SessionStores. it can operate a SessionStore by its id.