accesstypes

package module
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2024 License: MIT Imports: 3 Imported by: 11

README

accesstypes

The accesstypes package provides types used by the access package and other dependent packages.

Documentation

Overview

package accesstypes provides types for permissions, roles, and domains types for the access package

Index

Constants

View Source
const GlobalDomain = Domain("global")

GlobalDomain is the domain used when a permission is applied at the Global level instead of to a specific domain.

View Source
const GlobalResource = Resource("global")

GlobalResource is the resource used when a permission is applied to the entire application, (i.e. Global level) instead of to a specific resource.

View Source
const NoopUser = "noop"

NoopUser is the user assigned to an empty role in casbin to ensure the role can be enumerated if no one else is assigned

Variables

This section is empty.

Functions

This section is empty.

Types

type Domain

type Domain string

func UnmarshalDomain

func UnmarshalDomain(domain string) Domain

func (Domain) Marshal

func (d Domain) Marshal() string

type Enforcer added in v0.2.5

type Enforcer interface {
	RequireResources(ctx context.Context, user User, domain Domain, perms Permission, resources ...Resource) (ok bool, missing []Resource, err error)
}

type Field added in v0.2.5

type Field string

type Permission

type Permission string
const (
	NullPermission Permission = ""
	Create         Permission = "Create"
	Read           Permission = "Read"
	List           Permission = "List"
	Update         Permission = "Update"
	Delete         Permission = "Delete"
)

func UnmarshalPermission

func UnmarshalPermission(permission string) Permission

func (Permission) Marshal

func (p Permission) Marshal() string

type PermissionDetail

type PermissionDetail struct {
	Description string
	Scope       PermissionScope
}

type PermissionScope

type PermissionScope string
const (
	GlobalPermissionScope PermissionScope = "global"
	DomainPermissionScope PermissionScope = "domain"
)

type ResolvedPermissions added in v0.2.5

type ResolvedPermissions struct {
	Resources ResolvedResourcePermissions
	Tags      ResolvedTagPermissions
}

type ResolvedResourcePermissions added in v0.2.5

type ResolvedResourcePermissions map[Domain]map[Resource]map[Permission]bool

type ResolvedTagPermissions added in v0.3.0

type ResolvedTagPermissions map[Domain]map[Resource]map[Tag]map[Permission]bool

type Resource

type Resource string

func UnmarshalResource

func UnmarshalResource(resource string) Resource

func (Resource) Marshal

func (r Resource) Marshal() string

func (Resource) ResourceAndTag added in v0.3.0

func (r Resource) ResourceAndTag() (Resource, Tag)

func (Resource) ResourceWithTag added in v0.3.0

func (r Resource) ResourceWithTag(tag Tag) Resource

type Role

type Role string

func UnmarshalRole

func UnmarshalRole(role string) Role

func (Role) Marshal

func (r Role) Marshal() string

type RoleCollection

type RoleCollection map[Domain][]Role

type RolePermissionCollection

type RolePermissionCollection map[Permission][]Resource

type Tag added in v0.3.0

type Tag string

type TagPermissions added in v0.5.0

type TagPermissions map[Tag][]Permission

type User

type User string

User represents a user in the authorization system

func UnmarshalUser

func UnmarshalUser(user string) User

func (User) Marshal

func (u User) Marshal() string

type UserPermissionCollection

type UserPermissionCollection map[Domain]map[Resource][]Permission

Jump to

Keyboard shortcuts

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