Class JAASUserGroupCallbackImpl

  • All Implemented Interfaces:
    org.kie.api.task.UserGroupCallback

    public class JAASUserGroupCallbackImpl
    extends AbstractUserGroupInfo
    implements org.kie.api.task.UserGroupCallback
    JAAS based implementation of user group callback dedicated when using LocalTaskService in container such as JBoss AS. It relies on JACC api to collect information on currently logged on user when querying for tasks.
    JACC exposes following named context in PolicyContext:
    javax.security.auth.Subject.container
    This returns Subject instance for currently authenticated user and next principals will be examined to find instances of Group and with given rolePrincipleName (by default Roles).
    By default it works with JBoss Application Servers as it uses specific principal name to find the groups.
    • Constructor Detail

      • JAASUserGroupCallbackImpl

        public JAASUserGroupCallbackImpl​(boolean activate)
      • JAASUserGroupCallbackImpl

        public JAASUserGroupCallbackImpl​(String rolesPrincipleName)
    • Method Detail

      • addExternalUserGroupAdapter

        public static void addExternalUserGroupAdapter​(UserGroupAdapter externalUserGroupAdapter)
      • clearExternalUserGroupAdapter

        public static void clearExternalUserGroupAdapter()
      • getRolePrincipleName

        public String getRolePrincipleName()
      • setRolePrincipleName

        public void setRolePrincipleName​(String rolePrincipleName)
      • existsUser

        public boolean existsUser​(String userId)
        Specified by:
        existsUser in interface org.kie.api.task.UserGroupCallback
      • existsGroup

        public boolean existsGroup​(String groupId)
        Specified by:
        existsGroup in interface org.kie.api.task.UserGroupCallback
      • getGroupsForUser

        public List<String> getGroupsForUser​(String userId)
        Specified by:
        getGroupsForUser in interface org.kie.api.task.UserGroupCallback
      • getSubjectFromContainer

        protected Subject getSubjectFromContainer()