Documentation ¶
Index ¶
- Constants
- func DestroyByReferenceID(userID, referenceID uuid.UUID) error
- func DestroyByToken(token string) error
- func DestroyByUserID(id uuid.UUID) error
- func PurgeCache()
- func SetStore(s Store)
- type CacheableStore
- type GORMStore
- func (s *GORMStore) DestroyByToken(token string) error
- func (s *GORMStore) GetByReferenceID(id uuid.UUID) (*Session, error)
- func (s *GORMStore) GetByToken(token string) (*Session, error)
- func (s *GORMStore) GetByUserID(id uuid.UUID) ([]*Session, error)
- func (s *GORMStore) PurgeCache()
- func (s *GORMStore) Save(token string, session *Session) error
- type InMemoryStore
- func (s *InMemoryStore) DestroyByToken(token string) error
- func (s *InMemoryStore) GetByReferenceID(id uuid.UUID) (*Session, error)
- func (s *InMemoryStore) GetByToken(token string) (*Session, error)
- func (s *InMemoryStore) GetByUserID(id uuid.UUID) (result []*Session, err error)
- func (s *InMemoryStore) Save(token string, session *Session) error
- type Session
- func (s *Session) Delete(key string) error
- func (s *Session) Destroy(rw http.ResponseWriter, req *http.Request) error
- func (s *Session) Expired() bool
- func (s *Session) Get(key string) interface{}
- func (s *Session) GetSessionInfo() (referenceID uuid.UUID, created, lastAccess time.Time, ...)
- func (s *Session) GetUserID() uuid.UUID
- func (s *Session) Set(key string, value interface{}) error
- func (s *Session) SetUser(userID uuid.UUID) error
- type SessionRecord
- type Store
Constants ¶
View Source
const (
// CookieName セッションクッキー名
CookieName = "r_session"
)
Variables ¶
This section is empty.
Functions ¶
func DestroyByReferenceID ¶
func DestroyByReferenceID(userID, referenceID uuid.UUID) error
DestroyByReferenceID 指定したユーザーのreferenceIDのセッションを破棄します
func DestroyByUserID ¶
func DestroyByUserID(id uuid.UUID) error
DestroyByUserID 指定したユーザーのセッションを全て破棄します
Types ¶
type CacheableStore ¶
type CacheableStore interface { Store PurgeCache() }
CacheableStore キャッシュ可能なセッションストア
type GORMStore ¶
GORMStore GORMストア
func (*GORMStore) DestroyByToken ¶
DestroyByToken deletes token's session
func (*GORMStore) GetByReferenceID ¶
GetByReferenceID gets id's session
func (*GORMStore) GetByToken ¶
GetByToken gets token's session
func (*GORMStore) GetByUserID ¶
GetByUserID gets the user's sessions
type InMemoryStore ¶
InMemoryStore for test use
func (*InMemoryStore) DestroyByToken ¶
func (s *InMemoryStore) DestroyByToken(token string) error
DestroyByToken deletes token's session
func (*InMemoryStore) GetByReferenceID ¶
func (s *InMemoryStore) GetByReferenceID(id uuid.UUID) (*Session, error)
GetByReferenceID gets id's session
func (*InMemoryStore) GetByToken ¶
func (s *InMemoryStore) GetByToken(token string) (*Session, error)
GetByToken gets token's session
func (*InMemoryStore) GetByUserID ¶
func (s *InMemoryStore) GetByUserID(id uuid.UUID) (result []*Session, err error)
GetByUserID gets the user's sessions
type Session ¶
Session セッション構造体
func GetByToken ¶
GetByToken 指定したtokenのセッションを取得します
func GetByUserID ¶
GetByUserID 指定したユーザーのセッションを全て取得します
func (*Session) GetSessionInfo ¶
func (s *Session) GetSessionInfo() (referenceID uuid.UUID, created, lastAccess time.Time, lastIP, lastUserAgent string)
GetSessionInfo セッションの情報を返します
type SessionRecord ¶
type SessionRecord struct { Token string `gorm:"type:varchar(50);primary_key"` ReferenceID string `gorm:"type:char(36);unique"` UserID string `gorm:"type:varchar(36);index"` LastAccess time.Time `gorm:"precision:6"` LastIP string `gorm:"type:text"` LastUserAgent string `gorm:"type:text"` Data []byte `gorm:"type:longblob"` Created time.Time `gorm:"precision:6"` }
SessionRecord GORM用Session構造体
func (*SessionRecord) TableName ¶
func (*SessionRecord) TableName() string
TableName SessionRecordのテーブル名
Click to show internal directories.
Click to hide internal directories.