permission

package
v0.0.0-...-c982c26 Latest Latest
Warning

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

Go to latest
Published: Jun 3, 2014 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CachedUser

type CachedUser struct {
	// contains filtered or unexported fields
}

A JsonPermission user with chached permissions.

func (*CachedUser) Has

func (u *CachedUser) Has(node string) bool

Implementation of IUserPermissions

type Group

type Group struct {
	Default     bool
	Permissions []string
	Inheritance []string
}

type Groups

type Groups map[string]*Group

type IPermissions

type IPermissions interface {
	UserPermissions(username string) IUserPermissions
}

type IUserPermissions

type IUserPermissions interface {
	Has(node string) bool
}

IUserPermissions represents the permissions of a user.

type JsonPermission

type JsonPermission struct {
	// contains filtered or unexported fields
}

This is a permission system based on groups and users, with data stored in two json files "groups.json" and "users.json". It has one world support.

func LoadJsonPermission

func LoadJsonPermission(userReader io.Reader, groupReader io.Reader) (jPermission *JsonPermission, err error)

func LoadJsonPermissionFromFiles

func LoadJsonPermissionFromFiles(userDefFile, groupDefFile string) (jPermission *JsonPermission, err error)

func (*JsonPermission) UserPermissions

func (p *JsonPermission) UserPermissions(username string) IUserPermissions

Implementation of IPermissions

type User

type User struct {
	Groups      []string
	Permissions []string
}

type Users

type Users map[string]*User

Jump to

Keyboard shortcuts

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