Example usage for org.springframework.security.acls.domain GrantedAuthoritySid GrantedAuthoritySid

List of usage examples for org.springframework.security.acls.domain GrantedAuthoritySid GrantedAuthoritySid

Introduction

In this page you can find the example usage for org.springframework.security.acls.domain GrantedAuthoritySid GrantedAuthoritySid.

Prototype

public GrantedAuthoritySid(GrantedAuthority grantedAuthority) 

Source Link

Usage

From source file:ubic.gemma.security.SecurityServiceImpl.java

/**
 * @param domainObject//from  w  w  w  .  j a  va  2 s  . co  m
 * @param requiredPermissions
 * @param groupName
 * @return
 */
private boolean groupHasPermission(Securable domainObject, List<Permission> requiredPermissions,
        String groupName) {
    ObjectIdentity objectIdentity = objectIdentityRetrievalStrategy.getObjectIdentity(domainObject);

    List<GrantedAuthority> auths = userManager.findGroupAuthorities(groupName);

    List<Sid> sids = new ArrayList<Sid>();
    for (GrantedAuthority a : auths) {
        GrantedAuthoritySid sid = new GrantedAuthoritySid(
                new GrantedAuthorityImpl(userManager.getRolePrefix() + a.getAuthority()));
        sids.add(sid);
    }

    try {
        // Lookup only ACLs for SIDs we're interested in (this actually get them all)
        Acl acl = aclService.readAclById(objectIdentity, sids);
        // administrative mode = true
        return acl.isGranted(requiredPermissions, sids, true);
    } catch (NotFoundException ignore) {
        return false;
    }

}