Documentation ¶
Index ¶
- func GetAffiliation(user Affilation) string
- func GetNewAttributes(modifyAttrs, newAttrs []api.Attribute) []api.Attribute
- type Affilation
- type DbTxResult
- type Impl
- func (u *Impl) GetAffiliationPath() []string
- func (u *Impl) GetAttribute(name string) (*api.Attribute, error)
- func (u *Impl) GetAttributes(attrNames []string) ([]api.Attribute, error)
- func (u *Impl) GetFailedLoginAttempts() int
- func (u *Impl) GetLevel() int
- func (u *Impl) GetMaxEnrollments() int
- func (u *Impl) GetName() string
- func (u *Impl) GetPass() []byte
- func (u *Impl) GetType() string
- func (u *Impl) IncrementIncorrectPasswordAttempts() error
- func (u *Impl) IsRevoked() bool
- func (u *Impl) Login(pass string, caMaxEnrollments int) error
- func (u *Impl) LoginComplete() error
- func (u *Impl) Migrate(tx userDB) error
- func (u *Impl) ModifyAttributes(newAttrs []api.Attribute) error
- func (u *Impl) ModifyAttributesTx(tx userDB, newAttrs []api.Attribute) error
- func (u *Impl) Revoke() error
- func (u *Impl) SetLevel(level int) error
- func (u *Impl) SetLevelTx(tx userDB, level int) error
- type Info
- type Record
- type Registry
- type User
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetAffiliation ¶
func GetAffiliation(user Affilation) string
GetAffiliation return a joined version version of the affiliation path with '.' as the seperator
Types ¶
type Affilation ¶
type Affilation interface {
GetAffiliationPath() []string
}
Affilation is interface that defines functions needed to get a user's affiliation
type DbTxResult ¶
type DbTxResult struct { Affiliations []spi.Affiliation Identities []User }
DbTxResult returns information on any affiliations and/or identities affected during a database transaction
type Impl ¶
type Impl struct { Info // contains filtered or unexported fields }
Impl is the databases representation of a user
func GetUserLessThanLevel ¶
GetUserLessThanLevel returns all identities that are less than the level specified Otherwise, returns no users if requested level is zero
func (*Impl) GetAffiliationPath ¶
GetAffiliationPath returns the complete path for the user's affiliation.
func (*Impl) GetAttribute ¶
GetAttribute returns the value for an attribute name
func (*Impl) GetAttributes ¶
GetAttributes returns the requested attributes. Return all the user's attributes if nil is passed in
func (*Impl) GetFailedLoginAttempts ¶
GetFailedLoginAttempts returns the number of times the user has entered an incorrect password
func (*Impl) GetMaxEnrollments ¶
GetMaxEnrollments returns the max enrollments of the user
func (*Impl) IncrementIncorrectPasswordAttempts ¶
IncrementIncorrectPasswordAttempts updates the incorrect password count of user
func (*Impl) LoginComplete ¶
LoginComplete completes the login process by incrementing the state of the user
func (*Impl) ModifyAttributes ¶
ModifyAttributes adds a new attribute, modifies existing attribute, or delete attribute
func (*Impl) ModifyAttributesTx ¶
ModifyAttributesTx adds a new attribute, modifies existing attribute, or delete attribute
func (*Impl) SetLevelTx ¶
SetLevelTx sets the level of the user
type Info ¶
type Info struct { Name string Pass string `mask:"password"` Type string Affiliation string Attributes []api.Attribute State int MaxEnrollments int Level int IncorrectPasswordAttempts int }
Info contains information about a user
type Record ¶
type Record struct { Name string `db:"id"` Pass []byte `db:"token"` Type string `db:"type"` Affiliation string `db:"affiliation"` Attributes string `db:"attributes"` State int `db:"state"` MaxEnrollments int `db:"max_enrollments"` Level int `db:"level"` IncorrectPasswordAttempts int `db:"incorrect_password_attempts"` }
Record defines the properties of a user
type Registry ¶
type Registry interface { GetUser(id string, attrs []string) (User, error) InsertUser(user *Info) error UpdateUser(user *Info, updatePass bool) error DeleteUser(id string) (User, error) GetAffiliation(name string) (spi.Affiliation, error) GetAllAffiliations(name string) (*sqlx.Rows, error) InsertAffiliation(name string, prekey string, level int) error GetUserLessThanLevel(version int) ([]User, error) GetFilteredUsers(affiliation, types string) (*sqlx.Rows, error) DeleteAffiliation(name string, force, identityRemoval, isRegistrar bool) (*DbTxResult, error) ModifyAffiliation(oldAffiliation, newAffiliation string, force, isRegistrar bool) (*DbTxResult, error) GetAffiliationTree(name string) (*DbTxResult, error) }
Registry is the API for retreiving users and groups
type User ¶
type User interface { // Returns the enrollment ID of the user GetName() string // Return the type of the user GetType() string // Return the max enrollments of the user GetMaxEnrollments() int // Login the user with a password Login(password string, caMaxEnrollment int) error // Get the complete path for the user's affiliation. GetAffiliationPath() []string // GetAttribute returns the value for an attribute name GetAttribute(name string) (*api.Attribute, error) // GetAttributes returns the requested attributes GetAttributes(attrNames []string) ([]api.Attribute, error) // ModifyAttributes adds, removes, or deletes attribute ModifyAttributes(attrs []api.Attribute) error // LoginComplete completes the login process by incrementing the state of the user LoginComplete() error // Revoke will revoke the user, setting the state of the user to be -1 Revoke() error // IsRevoked returns back true if user is revoked IsRevoked() bool // GetLevel returns the level of the user, level is used to verify if the user needs migration GetLevel() int // SetLevel sets the level of the user SetLevel(level int) error // IncrementIncorrectPasswordAttempts updates the incorrect password count of user IncrementIncorrectPasswordAttempts() error // GetFailedLoginAttempts returns the number of times the user has entered an incorrect password GetFailedLoginAttempts() int }
User is the SPI for a user