List of usage examples for org.apache.shiro.authc SimpleAccount addStringPermissions
public void addStringPermissions(Collection<String> permissions)
From source file:org.icgc.dcc.submission.shiro.DccWrappingRealm.java
License:Open Source License
/** * TODO: <code>{@link DccRealm#getPermissions(String)}</code> *///from w ww.j a va 2 s. c o m @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { log.debug("Putting together authorizations for user {}", principals.getPrimaryPrincipal()); String username = super.getUsername(principals); SimpleAccount simpleAccount = super.getUser(username); // this gives access to implementation of // AuthorizationInfo... Collection<String> iniRoles = simpleAccount.getRoles(); Set<String> projectSpecificPermissions = buildProjectSpecificPermissions(username, iniRoles); log.debug( "Dynamically adding Project-specific permissions for user {}: {}, top of existing roles from INI: {} ({})", new Object[] { username, projectSpecificPermissions, iniRoles, simpleAccount.getObjectPermissions() }); simpleAccount.addStringPermissions(projectSpecificPermissions); return simpleAccount; }