acl

package
v0.0.0-...-56656a8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 27, 2017 License: Apache-2.0, Apache-2.0 Imports: 12 Imported by: 4

Documentation

Index

Constants

View Source
const (
	AccessData AccessCategoryEnum = 1
	AccessMenu                    = 2
	AccessAjax                    = 3
	AccessList                    = 4
	AccessTab                     = 5
)
View Source
const (
	AccessCreate   AccessTypeEnum = 1
	AccessRead                    = 2
	AccessUpdate                  = 4
	AccessDelete                  = 8
	AccessSpecial1                = 16
	AccessSpecial2                = 32
	AccessSpecial3                = 64
	AccessSpecial4                = 128
)

Variables

This section is empty.

Functions

func AddUserLdapByGroup

func AddUserLdapByGroup(groupid string, conf toolkit.M) (err error)

Check existing user, if any add group. and set enable

func ChangePassword

func ChangePassword(userId string, passwd string) (err error)

func ChangePasswordFromOld

func ChangePasswordFromOld(userId string, passwd string, old string) (err error)

func ChangePasswordToken

func ChangePasswordToken(userId, passwd, tokenid string) (err error)

func CreateToken

func CreateToken(UserID, TokenPupose string, Validity time.Duration) (err error)

func Delete

func Delete(o orm.IModel) error

func Find

func Find(o orm.IModel, filter *dbox.Filter, config toolkit.M) (dbox.ICursor, error)

func FindActiveSessionByUser

func FindActiveSessionByUser(o orm.IModel, userid string) (err error)

func FindByID

func FindByID(o orm.IModel, id interface{}) error

func FindDataLdap

func FindDataLdap(addr, basedn, filter string, param toolkit.M) (arrtkm []toolkit.M, err error)

func FindUserByEmail

func FindUserByEmail(o orm.IModel, email string) error

func FindUserByLoginID

func FindUserByLoginID(o orm.IModel, id interface{}) error

func FindUserBySessionID

func FindUserBySessionID(sessionid string) (userid string, err error)

func GetListAccessByLoginId

func GetListAccessByLoginId(loginId interface{}, cat AccessCategoryEnum, config toolkit.M) (artkm []toolkit.M, err error)

func GetListAccessBySessionId

func GetListAccessBySessionId(sessionId interface{}, cat AccessCategoryEnum, config toolkit.M) (artkm []toolkit.M, err error)

func GetListMenuByLoginId

func GetListMenuByLoginId(loginId interface{}) (artkm []toolkit.M, err error)

func GetListMenuBySessionId

func GetListMenuBySessionId(sessionId interface{}) (artkm []toolkit.M, err error)

func GetListTabBySessionId

func GetListTabBySessionId(sessionId interface{}, igroup string) (artkm []toolkit.M, err error)

func HasAccess

func HasAccess(ID interface{}, IDType IDTypeEnum, AccessID string, AccessFind AccessTypeEnum) (found bool)

ID for IDTypeUser

func IsSessionIDActive

func IsSessionIDActive(sessionid string) (stat bool)

func IsUserExist

func IsUserExist(id interface{}) bool

func Login

func Login(username, password string) (sessionid string, err error)

username using user loginid

func Logout

func Logout(sessionid string) (err error)

Using sessionid

func Matchaccess

func Matchaccess(searchAccess int, sourceAccess int) bool

func RefreshUserLdapByGroup

func RefreshUserLdapByGroup(groupid string, conf toolkit.M) (err error)

if group len == 0, delete user

func ResetPassword

func ResetPassword(email string) (userid, tokenid string, err error)

func ResetPasswordByLoginID

func ResetPasswordByLoginID(loginid string) (userid, tokenid string, err error)

func ResetPasswordByParam

func ResetPasswordByParam(param, itype string) (userid, tokenid string, err error)

func Save

func Save(o orm.IModel) error

func SetDb

func SetDb(conn dbox.IConnection) error

func SetExpiredDuration

func SetExpiredDuration(td time.Duration)

func WriteLog

func WriteLog(sessionId interface{}, access, reference string) error

Types

type Access

type Access struct {
	orm.ModelBase  `bson:"-",json:"-"`
	ID             string `json:"_id",bson:"_id"`
	Title          string // `json:"Title",bson:"Title"`
	Category       AccessCategoryEnum
	Icon           string
	ParentId       string
	Url            string
	Index          int
	Group1         string // `json:"Group1",bson:"Group1"`
	Group2         string // `json:"Group2",bson:"Group2"`
	Group3         string // `json:"Group3",bson:"Group3"`
	Enable         bool   // `json:"Enable",bson:"Enable"`
	SpecialAccess1 string // `json:"SpecialAccess1",bson:"SpecialAccess1"`
	SpecialAccess2 string // `json:"SpecialAccess2",bson:"SpecialAccess2"`
	SpecialAccess3 string // `json:"SpecialAccess3",bson:"SpecialAccess3"`
	SpecialAccess4 string // `json:"SpecialAccess4",bson:"SpecialAccess4"`
}

func (*Access) PreSave

func (a *Access) PreSave() error

func (*Access) RecordID

func (a *Access) RecordID() interface{}

func (*Access) TableName

func (a *Access) TableName() string

type AccessCategoryEnum

type AccessCategoryEnum int

type AccessGrant

type AccessGrant struct {
	AccessID    string // `json:"AccessID",bson:"AccessID"`
	AccessValue int    // `json:"AccessValue",bson:"AccessValue"`
}

type AccessTypeEnum

type AccessTypeEnum int

func GetAccessEnum

func GetAccessEnum(key string) AccessTypeEnum

func Splitinttogrant

func Splitinttogrant(in int) []AccessTypeEnum

type Group

type Group struct {
	orm.ModelBase `bson:"-",json:"-"`
	ID            string        `json:"_id",bson:"_id"`
	Title         string        // `json:"Title",bson:"Title"`
	Enable        bool          // `json:"Enable",bson:"Enable"`
	Grants        []AccessGrant // `json:"Grants",bson:"Grants"`
	Owner         string        // `json:"Owner",bson:"Owner"`
	GroupType     GroupTypeEnum
	GroupConf     toolkit.M
	MemberConf    toolkit.M
}

func (*Group) GetAccessList

func (g *Group) GetAccessList() (arrgrant []AccessGrant)

func (*Group) Grant

func (g *Group) Grant(tAccessID string, tAccessEnum ...AccessTypeEnum)

func (*Group) PreSave

func (g *Group) PreSave() error

func (*Group) RecordID

func (g *Group) RecordID() interface{}

func (*Group) Revoke

func (g *Group) Revoke(tAccessID string, tAccessEnum ...AccessTypeEnum)

func (*Group) TableName

func (g *Group) TableName() string

type GroupTypeEnum

type GroupTypeEnum int
const (
	GroupTypeBasic GroupTypeEnum = iota
	GroupTypeLdap
)

type IDTypeEnum

type IDTypeEnum int
const (
	IDTypeUser IDTypeEnum = iota
	IDTypeGroup
	IDTypeSession
)

type Log

type Log struct {
	orm.ModelBase `bson:"-" json:"-"`
	ID            string `bson:"_id" json:"_id"`
	SessionId     string
	LoginId       string
	Action        string
	Reference     string
	RequestAddr   string
	Time          time.Time
	LoadingTimes  string
	Description   string
}

func (*Log) PreSave

func (l *Log) PreSave() error

func (*Log) RecordID

func (l *Log) RecordID() interface{}

func (*Log) TableName

func (l *Log) TableName() string

type LoginTypeEnum

type LoginTypeEnum int
const (
	LogTypeBasic LoginTypeEnum = iota
	LogTypeLdap
)

type Session

type Session struct {
	orm.ModelBase `bson:"-",json:"-"`
	ID            string `json:"_id",bson:"_id"`
	UserID        string // `json:"UserID",bson:"UserID"`
	LoginID       string
	Created       time.Time // `json:"Created",bson:"Created"`
	Expired       time.Time // `json:"Expired",bson:"Expired"`
}

func (*Session) RecordID

func (s *Session) RecordID() interface{}

func (*Session) TableName

func (s *Session) TableName() string

type Token

type Token struct {
	orm.ModelBase `bson:"-",json:"-"`
	ID            string    `json:"_id",bson:"_id"`
	UserID        string    // `json:"UserId",bson:"UserId"`
	Created       time.Time // `json:"Created",bson:"Created"`
	Expired       time.Time // `json:"Expired",bson:"Expired"`
	Claimed       time.Time // `json:"Claimed",bson:"Claimed"`
	Purpose       string    // `json:"Purpose",bson:"Purpose"`
	Data1         string    // `json:"Data1",bson:"Data1"`
	Data2         string    // `json:"Data2",bson:"Data2"`
	Data3         string    // `json:"Data3",bson:"Data3"`
	Data4         string    // `json:"Data4",bson:"Data4"`
}

func GetToken

func GetToken(UserID, TokenPurpose string) (tToken *Token, err error)

func (*Token) Claim

func (t *Token) Claim()

func (*Token) RecordID

func (t *Token) RecordID() interface{}

func (*Token) TableName

func (t *Token) TableName() string

type User

type User struct {
	orm.ModelBase `bson:"-",json:"-"`
	ID            string        `json:"_id",bson:"_id"`
	LoginID       string        // `json:"LoginID",bson:"LoginID"`
	FullName      string        // `json:"FullName",bson:"FullName"`
	Email         string        // `json:"Email",bson:"Email"`
	Password      string        // `json:"Password",bson:"Password"`
	Enable        bool          // `json:"Enable",bson:"Enable"`
	Groups        []string      // `json:"Groups",bson:"Groups"`
	Grants        []AccessGrant // `json:"Grants",bson:"Grants"`
	LoginType     LoginTypeEnum
	LoginConf     toolkit.M
}

func GetLdapMemberOfGroup

func GetLdapMemberOfGroup(groupid string, conf toolkit.M) (members []*User, err error)

func GetUserByGroup

func GetUserByGroup(groupid string) (arruser []*User, err error)

func (*User) AddToGroup

func (u *User) AddToGroup(tGroupID string) error

func (*User) GetAccessList

func (u *User) GetAccessList() (arrgrant []AccessGrant)

func (*User) Grant

func (u *User) Grant(tAccessID string, tAccessEnum ...AccessTypeEnum)

func (*User) PreSave

func (u *User) PreSave() error

func (*User) RecordID

func (u *User) RecordID() interface{}

func (*User) RemoveFromGroup

func (u *User) RemoveFromGroup(tGroupID string) error

func (*User) Revoke

func (u *User) Revoke(tAccessID string, tAccessEnum ...AccessTypeEnum)

func (*User) TableName

func (u *User) TableName() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL