Class DefaultSecurityKit

java.lang.Object
colesico.framework.security.DefaultSecurityKit
All Implemented Interfaces:
SecurityInterceptor, SecurityKit

public class DefaultSecurityKit
extends java.lang.Object
implements SecurityInterceptor
Default security kit implementation. Extend this class to customize principal control.
Author:
Vladlen Larionov
  • Field Details

    • threadScope

      protected final colesico.framework.ioc.scope.ThreadScope threadScope
    • dataPortProv

      protected final javax.inject.Provider<colesico.framework.teleapi.DataPort> dataPortProv
  • Constructor Details

    • DefaultSecurityKit

      @Inject public DefaultSecurityKit​(colesico.framework.ioc.scope.ThreadScope threadScope, javax.inject.Provider<colesico.framework.teleapi.DataPort> dataPortProv)
  • Method Details

    • principalReadControl

      protected Principal principalReadControl​(colesico.framework.teleapi.DataPort<java.lang.Object,​java.lang.Object> port)
      Override this method to get more specific principal read control This method is used to fine grained control of user principal: check validity, enrich with extra data, e.t.c.
      Parameters:
      port -
      Returns:
      Valid principal or null
    • principalWriteControl

      protected void principalWriteControl​(colesico.framework.teleapi.DataPort<java.lang.Object,​java.lang.Object> port, Principal principal)
      Override this method to get more specific principal write control. This method is used to fine grain write control of user principal.
      Parameters:
      port -
      principal -
    • hasAuthorityControl

      protected boolean hasAuthorityControl​(Principal principal, java.lang.String... authorityId)
      Override this method to get more specific authority control
      Parameters:
      principal -
      authorityId -
      Returns:
    • getPrincipal

      public final <P extends Principal> P getPrincipal()
      Description copied from interface: SecurityKit
      Returns active valid principal if it present.
      Specified by:
      getPrincipal in interface SecurityKit
      Returns:
      null if principal is invalid or absent.
    • setPrincipal

      public final void setPrincipal​(Principal principal)
      Specified by:
      setPrincipal in interface SecurityKit
    • hasAuthority

      public final boolean hasAuthority​(java.lang.String... authorityId)
      Description copied from interface: SecurityKit
      Check active principal for at least one valid authority.
      Specified by:
      hasAuthority in interface SecurityKit
      Returns:
      false if all are invalid
    • interceptRequirePrincipal

      public final java.lang.Object interceptRequirePrincipal​(colesico.framework.service.InvocationContext context)
      Specified by:
      interceptRequirePrincipal in interface SecurityInterceptor
    • interceptRequireAuthority

      public final java.lang.Object interceptRequireAuthority​(colesico.framework.service.InvocationContext context)
      Specified by:
      interceptRequireAuthority in interface SecurityInterceptor