acl

package module
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 Imports: 12 Imported by: 7

Documentation

Index

Constants

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)

UserId using userid

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 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 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 Save

func Save(o orm.IModel) error

func SetDb

func SetDb(conn dbox.IConnection) error

func SetExpiredDuration

func SetExpiredDuration(td time.Duration)

Types

type Access

type Access struct {
	orm.ModelBase
	ID             string `json:"_id",bson:"_id"`
	Title          string // `json:"Title",bson:"Title"`
	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) RecordID

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

func (*Access) TableName

func (a *Access) TableName() string

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
	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) 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 LoginTypeEnum

type LoginTypeEnum int
const (
	LogTypeBasic LoginTypeEnum = iota
	LogTypeLdap
)

type Session

type Session struct {
	orm.ModelBase
	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
	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
	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) 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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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