Search in sources :

Example 1 with SimplePrincipal

use of com.thinkbiganalytics.security.SimplePrincipal in project kylo by Teradata.

the class SecurityContextUtil method getCurrentPrincipals.

public static Set<Principal> getCurrentPrincipals() {
    Authentication auth = SecurityContextHolder.getContext().getAuthentication();
    Set<Principal> principals = new HashSet<>();
    if (auth != null) {
        for (GrantedAuthority grant : auth.getAuthorities()) {
            if (grant instanceof JaasGrantedAuthority) {
                JaasGrantedAuthority jaasGrant = (JaasGrantedAuthority) grant;
                principals.add(jaasGrant.getPrincipal());
            } else {
                String authority = grant.getAuthority();
                if (authority != null) {
                    principals.add(new SimplePrincipal(authority));
                }
            }
        }
        principals.add(new UsernamePrincipal(auth.getName()));
    } else {
        principals.add(new AnonymousPrincipal());
    }
    return principals;
}
Also used : UsernamePrincipal(com.thinkbiganalytics.security.UsernamePrincipal) Authentication(org.springframework.security.core.Authentication) AnonymousPrincipal(com.thinkbiganalytics.security.AnonymousPrincipal) JaasGrantedAuthority(org.springframework.security.authentication.jaas.JaasGrantedAuthority) GrantedAuthority(org.springframework.security.core.GrantedAuthority) JaasGrantedAuthority(org.springframework.security.authentication.jaas.JaasGrantedAuthority) Principal(java.security.Principal) SimplePrincipal(com.thinkbiganalytics.security.SimplePrincipal) UsernamePrincipal(com.thinkbiganalytics.security.UsernamePrincipal) AnonymousPrincipal(com.thinkbiganalytics.security.AnonymousPrincipal) SimplePrincipal(com.thinkbiganalytics.security.SimplePrincipal) HashSet(java.util.HashSet)

Aggregations

AnonymousPrincipal (com.thinkbiganalytics.security.AnonymousPrincipal)1 SimplePrincipal (com.thinkbiganalytics.security.SimplePrincipal)1 UsernamePrincipal (com.thinkbiganalytics.security.UsernamePrincipal)1 Principal (java.security.Principal)1 HashSet (java.util.HashSet)1 JaasGrantedAuthority (org.springframework.security.authentication.jaas.JaasGrantedAuthority)1 Authentication (org.springframework.security.core.Authentication)1 GrantedAuthority (org.springframework.security.core.GrantedAuthority)1