UserContext

sealed trait UserContext extends SecurityContext

Defines user context in which a set of permissions is granted.

See also
Companion
object
class Object
trait Matchable
class Any

Value members

Abstract methods

def grant(perms: Set[Permission]): UserContext

Creates new security context by adding supplied permissions to existing set of permissions.

Creates new security context by adding supplied permissions to existing set of permissions.

Value Params
perms

permissions

Returns

new security context

def groupId: String

Gets group identifier.

Gets group identifier.

Gets permissions.

Gets permissions.

def revoke(perms: Set[Permission]): UserContext

Creates new security context by removing supplied permissions from existing set of permissions.

Creates new security context by removing supplied permissions from existing set of permissions.

Value Params
perms

permissions

Returns

new security context

def userId: String

Gets user identifier.

Gets user identifier.

Concrete methods

Creates new security context by adding supplied permissions to existing set of permissions.

Creates new security context by adding supplied permissions to existing set of permissions.

Value Params
more

additional permissions

one

permission

Returns

new security context

Creates new security context by removing supplied permissions from existing set of permissions.

Creates new security context by removing supplied permissions from existing set of permissions.

Value Params
more

additional permissions

one

permission

Returns

new security context

Inherited methods

def all[T](one: Permission, more: Permission*)(op: => T): T

Tests permissions before applying operation.

Tests permissions before applying operation.

If all supplied permissions are granted, the operation is applied; otherwise, SecurityViolation is thrown.

Value Params
more

additional permissions

one

permission

op

operation

Returns

value of operation

Throws
SecurityViolation

if all permissions are not granted

Inherited from
SecurityContext
def all[T](perms: Set[Permission])(op: => T): T

Tests permissions before applying operation.

Tests permissions before applying operation.

If all supplied permissions are granted, the operation is applied; otherwise, SecurityViolation is thrown.

Value Params
op

operation

perms

permissions

Returns

value of operation

Throws
SecurityViolation

if all permissions are not granted

Note

The operation is authorized if perms is empty.

Inherited from
SecurityContext
def any[T](one: Permission, more: Permission*)(op: => T): T

Tests permissions before applying operation.

Tests permissions before applying operation.

If any of supplied permissions is granted, the operation is applied; otherwise, SecurityViolation is thrown.

Value Params
more

additional permissions

one

permission

op

operation

Returns

value of operation

Throws
SecurityViolation

if no permission is granted

Inherited from
SecurityContext
def any[T](perms: Set[Permission])(op: => T): T

Tests permissions before applying operation.

Tests permissions before applying operation.

If any of supplied permissions is granted, the operation is applied; otherwise, SecurityViolation is thrown.

Value Params
op

operation

perms

permissions

Returns

value of operation

Throws
SecurityViolation

if no permission is granted

Note

The operation is authorized if perms is empty.

Inherited from
SecurityContext
def apply[T](perm: Permission)(op: => T): T

Tests permission before applying operation.

Tests permission before applying operation.

If supplied permission is granted, the operation is applied; otherwise, SecurityViolation is thrown.

Value Params
op

operation

perm

permission

Returns

value of operation

Throws
SecurityViolation

if permission is not granted

Inherited from
SecurityContext
def test(perm: Permission): Boolean

Tests whether given permission is granted.

Tests whether given permission is granted.

Value Params
perm

permission

Returns

true if permission is granted; otherwise, false

Inherited from
SecurityContext