List of usage examples for org.apache.shiro.authz SimpleRole getPermissions
public Set<Permission> getPermissions()
From source file:com.freedomotic.persistence.RoleConverter.java
License:Open Source License
/** * * @param o//from w w w.j a v a2 s . c om * @param writer * @param mc */ @Override public void marshal(Object o, HierarchicalStreamWriter writer, MarshallingContext mc) { SimpleRole r = (SimpleRole) o; writer.addAttribute("name", r.getName()); writer.startNode("permissions"); for (Permission p : r.getPermissions()) { WildcardPermission wp = (WildcardPermission) p; writer.startNode("permission"); writer.setValue(wp.toString().replace("[", "").replace("]", "").replace(" ", "")); writer.endNode(); } writer.endNode(); }
From source file:com.freedomotic.plugins.devices.restapiv3.representations.RoleRepresentation.java
License:Open Source License
public RoleRepresentation(SimpleRole sr) { this.name = sr.getName(); for (Permission p : sr.getPermissions()) { this.permissions.add(p.toString().replace("[", "").replace("]", "").replace(" ", "")); }/*from w ww . j a v a2s . c o m*/ }
From source file:com.freedomotic.plugins.devices.restapiv3.resources.jersey.RoleResource.java
License:Open Source License
@Override protected URI doCopy(String UUID) { SimpleRole sr = api.getAuth().getRole(UUID); if (sr != null) { SimpleRole s2 = new SimpleRole("CopyOf-" + sr.getName(), sr.getPermissions()); api.getAuth().addRole(s2);//from ww w. j a v a 2 s .co m return createUri(s2.getName()); } return null; }
From source file:com.freedomotic.security.User.java
License:Open Source License
@Override public void setRoles(Set<String> roles) { for (String roleName : roles) { SimpleRole role = auth.getRole(roleName); if (role != null) { addObjectPermissions(role.getPermissions()); }//from ww w.ja va 2 s.c o m } super.setRoles(roles); }
From source file:com.freedomotic.security.User.java
License:Open Source License
@Override public void addRole(String roleName) { SimpleRole role = auth.getRole(roleName); if (role != null) { super.addRole(role.getName()); addObjectPermissions(role.getPermissions()); LOG.info("Adding role {} to user {}: {}", new Object[] { role.getName(), getName(), role.getPermissions() }); } else {//from w w w .jav a2 s . c o m LOG.error("Cannot find role: {}", roleName); } }
From source file:com.freedomotic.security.UserRealm.java
License:Open Source License
public void removeRole(String roleName) { SimpleRole r = getRole(roleName);/* ww w. jav a 2 s . c o m*/ for (User u : getUsers().values()) { u.removeRole(roleName); u.setObjectPermissions(null); for (String rs : u.getRoles()) { SimpleRole nr = getRole(rs); u.addObjectPermissions(nr.getPermissions()); } } getRoles().remove(roleName); }
From source file:org.mobicents.servlet.restcomm.entities.shiro.Realm.java
License:Open Source License
@Override protected AuthorizationInfo doGetAuthorizationInfo(final PrincipalCollection principals) { final Sid sid = new Sid((String) principals.getPrimaryPrincipal()); final ShiroResources services = ShiroResources.getInstance(); final DaoManager daos = services.get(DaoManager.class); final AccountsDao accounts = daos.getAccountsDao(); final Account account = accounts.getAccount(sid); final String roleName = account.getRole(); final Set<String> set = new HashSet<String>(); set.add(roleName);/*from w w w . j ava 2s .c o m*/ final SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo(set); final SimpleRole role = getRole(roleName); if (role != null) { authorizationInfo.setObjectPermissions(role.getPermissions()); } return authorizationInfo; }
From source file:org.mobicents.servlet.restcomm.http.SecuredEndpoint.java
License:Open Source License
/** * Low level permission checking. roleNames are checked for neededPermissionString permission using permission * mappings contained in restcomm.xml. The permission mappings are stored in RestcommRoles. * * Note: Administrator is granted access with eyes closed /*from ww w .j a va2 s.c o m*/ * @param neededPermissionString * @param roleNames * @return */ private AuthOutcome checkPermission(String neededPermissionString, Set<String> roleNames) { // if this is an administrator ask no more questions if (roleNames.contains(getAdministratorRole())) return AuthOutcome.OK; // normalize the permission string //neededPermissionString = "domain:" + neededPermissionString; WildcardPermissionResolver resolver = new WildcardPermissionResolver(); Permission neededPermission = resolver.resolvePermission(neededPermissionString); // check the neededPermission against all roles of the user RestcommRoles restcommRoles = identityContext.getRestcommRoles(); for (String roleName : roleNames) { SimpleRole simpleRole = restcommRoles.getRole(roleName); if (simpleRole == null) { return AuthOutcome.FAILED; } else { Set<Permission> permissions = simpleRole.getPermissions(); // check the permissions one by one for (Permission permission : permissions) { if (permission.implies(neededPermission)) { if (logger.isDebugEnabled()) { logger.debug("Granted access by permission " + permission.toString()); } return AuthOutcome.OK; } } if (logger.isDebugEnabled()) { logger.debug("Role " + roleName + " does not allow " + neededPermissionString); } } } return AuthOutcome.FAILED; }
From source file:org.mobicents.servlet.restcomm.identity.shiro.RestcommRoles.java
License:Open Source License
@Override public String toString() { if (roles == null || roles.size() == 0) return "no roles defined"; else {/* ww w .j a va 2 s . c o m*/ StringBuffer buffer = new StringBuffer(); for (String role : roles.keySet()) { buffer.append(role); SimpleRole simpleRole = roles.get(role); Set<Permission> permissions = simpleRole.getPermissions(); buffer.append("["); for (Permission permission : permissions) { buffer.append(permission.toString()); buffer.append(","); } buffer.append("]"); } return buffer.toString(); } }
From source file:org.mobicents.servlet.sip.restcomm.http.security.Realm.java
License:Open Source License
@Override protected AuthorizationInfo doGetAuthorizationInfo(final PrincipalCollection principals) { final Sid sid = new Sid((String) principals.getPrimaryPrincipal()); final ServiceLocator services = ServiceLocator.getInstance(); final DaoManager daos = services.get(DaoManager.class); final AccountsDao accounts = daos.getAccountsDao(); final Account account = accounts.getAccount(sid); final String roleName = account.getRole(); final Set<String> set = new HashSet<String>(); set.add(roleName);/*w w w . jav a 2 s . c o m*/ final SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo(set); final SimpleRole role = getRole(roleName); if (role != null) { authorizationInfo.setObjectPermissions(role.getPermissions()); } return authorizationInfo; }