Packages

p

tsec

authorization

package authorization

Source
package.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. authorization
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type AuthGroup[G] = Type[G]
  2. trait Authorization[F[_], Identity, Auth] extends AnyRef
  3. trait AuthorizationInfo[F[_], Role, U] extends AnyRef

    A simple typeclass that allows us to propagate information that is required for authorization

  4. trait BLPAuthorization[F[_], A, Auth] extends Authorization[F, A, Auth]

    A trait representing Bell LaPadula Model Authorization We will use the strong star property here, thus: No reading a higher authorization level Only writing to your authorization level.

    A trait representing Bell LaPadula Model Authorization We will use the strong star property here, thus: No reading a higher authorization level Only writing to your authorization level. We will not use DAC here, though this could be implemented

  5. sealed abstract case class BLPReadAction[F[_], Role, A, Auth] extends BLPAuthorization[F, A, Auth] with Product with Serializable

    Bell La Padula read action: We do not read to higher authorization levels aka Simple Security Property.

    Bell La Padula read action: We do not read to higher authorization levels aka Simple Security Property. For our model, we will think about higher authorization levels as being lower in number

  6. sealed abstract case class BLPWriteAction[F[_], Role, A, Auth] extends BLPAuthorization[F, A, Auth] with Product with Serializable

    Only write to same level.

    Only write to same level. No write up, no write down.

  7. abstract class BasicDAC[F[_], G, U, Auth] extends Authorization[F, U, Auth]

    A class modeling basic Discretionary access control.

    A class modeling basic Discretionary access control. In this case, the user has to provide an AuthGroup for which groups are allowed to access the data,

  8. sealed abstract case class BasicRBAC[F[_], R, U, Auth] extends Authorization[F, U, Auth] with Product with Serializable
  9. trait DynamicAuthGroup[F[_], Grp] extends AnyRef
  10. case class DynamicRBAC[F[_], Role, U, Auth](dynamic: DynamicAuthGroup[F, Role])(implicit authInfo: AuthorizationInfo[F, Role, U], enum: SimpleAuthEnum[Role, String], F: MonadError[F, Throwable]) extends Authorization[F, U, Auth] with Product with Serializable
  11. sealed abstract case class HierarchyAuth[F[_], R, U, Auth] extends Authorization[F, U, Auth] with Product with Serializable
  12. type InvalidAuthLevel = InvalidAuthLevelError.type
  13. abstract class SimpleAuthEnum[T, Repr] extends AnyRef

    Dead simple typed enum with explicitly handled enumeration error It also provides an implicit decoder/encoder for serialization into json.

    Dead simple typed enum with explicitly handled enumeration error It also provides an implicit decoder/encoder for serialization into json.

    T

    the abstract type to enumerate, subclass style

    Repr

    the representation type (i.e., string, int, double, ...)

Value Members

  1. object AuthGroup
  2. object Authorization
  3. object BLPReadAction extends Serializable
  4. object BLPWriteAction extends Serializable
  5. object BasicRBAC extends Serializable
  6. object HierarchyAuth extends Serializable
  7. object InvalidAuthLevelError extends Exception with TSecError
  8. object SimpleAuthEnum

Inherited from AnyRef

Inherited from Any

Ungrouped