Example usage for org.apache.shiro.authz SimpleAuthorizationInfo addStringPermissions

List of usage examples for org.apache.shiro.authz SimpleAuthorizationInfo addStringPermissions

Introduction

In this page you can find the example usage for org.apache.shiro.authz SimpleAuthorizationInfo addStringPermissions.

Prototype

public void addStringPermissions(Collection<String> permissions) 

Source Link

Document

Adds (assigns) multiple permissions to those associated directly with the account.

Usage

From source file:annis.security.ANNISUserRealm.java

License:Apache License

@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    Validate.isInstanceOf(String.class, principals.getPrimaryPrincipal());
    String userName = (String) principals.getPrimaryPrincipal();

    SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();

    User user = confManager.getUser(userName);

    if (user != null) {
        // only add any user role/permission if account is not expired
        if (user.getExpires() == null || user.getExpires().isAfterNow()) {
            info.addRole(userName);//from   w w  w . j a v a2s .c  o  m

            info.addRoles(user.getGroups());
            info.addRole(defaultUserRole);
            // add the permission to create url short IDs from every IP
            info.addStringPermission("shortener:create:*");
            // add any manual given permissions
            info.addStringPermissions(user.getPermissions());
        }
    } else if (userName.equals(anonymousUser)) {
        info.addRole(anonymousUser);
        if (confManager.getUseShortenerWithoutLogin() != null) {
            // add the permission to create url short IDs from the trusted IPs
            for (String trustedIPs : confManager.getUseShortenerWithoutLogin()) {
                info.addStringPermission("shortener:create:" + trustedIPs.replaceAll("[.:]", "_"));
            }
        }

    }
    return info;
}

From source file:au.org.theark.core.security.AAFRealm.java

License:Open Source License

@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    SimpleAuthorizationInfo simpleAuthInfo = new SimpleAuthorizationInfo();

    // Get the logged in user name from Shiro Session
    String ldapUserName = (String) principals.getPrimaryPrincipal();

    Long sessionStudyId = (Long) SecurityUtils.getSubject().getSession()
            .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID);
    Long sessionFunctionId = (Long) SecurityUtils.getSubject().getSession()
            .getAttribute(au.org.theark.core.Constants.ARK_FUNCTION_KEY);
    Long sessionModuleId = (Long) SecurityUtils.getSubject().getSession()
            .getAttribute(au.org.theark.core.Constants.ARK_MODULE_KEY);

    try {//from   www. j  a va2 s  . c  om

        if (sessionModuleId != null && sessionFunctionId != null && sessionStudyId == null) {
            // Load the role for the given module and use case
            ArkFunction arkFunction = iArkCommonService.getArkFunctionById(sessionFunctionId);
            ArkModule arkModule = iArkCommonService.getArkModuleById(sessionModuleId);

            String role = iArkCommonService.getUserRole(ldapUserName, arkFunction, arkModule, null);
            simpleAuthInfo.addRole(role);

            /* Check if the logged in user is a Super Administrator */
            if (iArkCommonService.isSuperAdministator(ldapUserName, arkFunction, arkModule)) {

                java.util.Collection<String> userRolePermission = iArkCommonService.getArkRolePermission(role);
                simpleAuthInfo.addStringPermissions(userRolePermission);
            } else {
                if (role != null) {
                    java.util.Collection<String> userRolePermission = iArkCommonService
                            .getArkRolePermission(arkFunction, role, arkModule);
                    simpleAuthInfo.addStringPermissions(userRolePermission);
                }
            }
        } else if (sessionModuleId != null && sessionFunctionId != null && sessionStudyId != null) {
            // Get the roles for the study in context
            Study study = iArkCommonService.getStudy(sessionStudyId);
            ArkFunction arkFunction = iArkCommonService.getArkFunctionById(sessionFunctionId);
            ArkModule arkModule = iArkCommonService.getArkModuleById(sessionModuleId);
            String role = iArkCommonService.getUserRole(ldapUserName, arkFunction, arkModule, study);
            simpleAuthInfo.addRole(role);

            if (iArkCommonService.isSuperAdministator(ldapUserName, arkFunction, arkModule)) {
                java.util.Collection<String> userRolePermission = iArkCommonService.getArkRolePermission(role);
                simpleAuthInfo.addStringPermissions(userRolePermission);
            } else {
                if (role != null) {
                    java.util.Collection<String> userRolePermission = iArkCommonService
                            .getArkRolePermission(arkFunction, role, arkModule);
                    simpleAuthInfo.addStringPermissions(userRolePermission);
                }
            }
        }
    } catch (EntityNotFoundException e) {
        log.error(e.getMessage());
    }

    return simpleAuthInfo;
}

From source file:au.org.theark.core.security.ArkLdapRealm.java

License:Open Source License

protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    SimpleAuthorizationInfo simpleAuthInfo = new SimpleAuthorizationInfo();

    // Get the logged in user name from Shiro Session
    String ldapUserName = (String) principals.getPrimaryPrincipal();

    Long sessionStudyId = (Long) SecurityUtils.getSubject().getSession()
            .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID);
    Long sessionFunctionId = (Long) SecurityUtils.getSubject().getSession()
            .getAttribute(au.org.theark.core.Constants.ARK_FUNCTION_KEY);
    Long sessionModuleId = (Long) SecurityUtils.getSubject().getSession()
            .getAttribute(au.org.theark.core.Constants.ARK_MODULE_KEY);

    try {//from  w  ww  .java2  s  . c  om

        if (sessionModuleId != null && sessionFunctionId != null && sessionStudyId == null) {
            // Load the role for the given module and use case
            ArkFunction arkFunction = iArkCommonService.getArkFunctionById(sessionFunctionId);
            ArkModule arkModule = iArkCommonService.getArkModuleById(sessionModuleId);

            String role = iArkCommonService.getUserRole(ldapUserName, arkFunction, arkModule, null);
            simpleAuthInfo.addRole(role);

            /*//Add multiple roles
            iArkCommonService.getArkRoleListByUserAndStudy(arkUserVo, study);
            simpleAuthInfo.addRoles(roles);*/

            /* Check if the logged in user is a Super Administrator */
            if (iArkCommonService.isSuperAdministator(ldapUserName, arkFunction, arkModule)) {

                java.util.Collection<String> userRolePermission = iArkCommonService.getArkRolePermission(role);
                simpleAuthInfo.addStringPermissions(userRolePermission);
            } else {
                if (role != null) {
                    java.util.Collection<String> userRolePermission = iArkCommonService
                            .getArkRolePermission(arkFunction, role, arkModule);
                    simpleAuthInfo.addStringPermissions(userRolePermission);
                }
            }
        } else if (sessionModuleId != null && sessionFunctionId != null && sessionStudyId != null) {
            // Get the roles for the study in context
            Study study = iArkCommonService.getStudy(sessionStudyId);
            ArkFunction arkFunction = iArkCommonService.getArkFunctionById(sessionFunctionId);
            ArkModule arkModule = iArkCommonService.getArkModuleById(sessionModuleId);
            String role = iArkCommonService.getUserRole(ldapUserName, arkFunction, arkModule, study);
            simpleAuthInfo.addRole(role);

            if (iArkCommonService.isSuperAdministator(ldapUserName, arkFunction, arkModule)) {
                java.util.Collection<String> userRolePermission = iArkCommonService.getArkRolePermission(role);
                simpleAuthInfo.addStringPermissions(userRolePermission);
            } else {
                if (role != null) {
                    java.util.Collection<String> userRolePermission = iArkCommonService
                            .getArkRolePermission(arkFunction, role, arkModule);
                    simpleAuthInfo.addStringPermissions(userRolePermission);
                }
            }
        }

    } catch (EntityNotFoundException e) {
        log.error(e.getMessage());
    }

    return simpleAuthInfo;
}

From source file:cn.com.qiqi.order.web.system.security.ShiroDbRealm.java

License:Apache License

/**
 * ?, ???.// ww w.  j a  v a  2s . co  m
 */
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    ShiroUser shiroUser = (ShiroUser) principals.getPrimaryPrincipal();
    User user = userService.findUserByUserName(shiroUser.loginName);

    SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
    for (Role role : user.getRoleList()) {
        // Role???
        info.addRole(role.getName());
        // Permission???
        info.addStringPermissions(role.getPermissionList());
    }
    return info;
}

From source file:cn.com.xl.core.shiro.ShiroDbRealm.java

License:Apache License

/**
 * ???//from  ww  w  . j a v a 2 s .  c  o m
 */
@SuppressWarnings({ "rawtypes" })
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    IShiro shiroFactory = ShiroManager.me().getDefaultShiroFactory();
    ShiroUser shiroUser = (ShiroUser) principals.getPrimaryPrincipal();
    Object userId = shiroUser.getId();
    List<Integer> roleList = shiroUser.getRoleList();
    Set<String> urlSet = new HashSet<>();
    Set<String> roleNameSet = new HashSet<>();
    for (Integer roleId : roleList) {
        List<Map> permissions = shiroFactory.findPermissionsByRoleId(userId, roleId);
        if (null != permissions) {
            for (Map map : permissions) {
                if (!Func.isEmpty(map.get("URL"))) {
                    urlSet.add(Func.toStr(map.get("URL")));
                }
            }
        }
        String roleName = shiroFactory.findRoleNameByRoleId(roleId);
        roleNameSet.add(roleName);
    }
    SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
    info.addStringPermissions(urlSet);
    info.addRoles(roleNameSet);
    return info;
}

From source file:cn.mario256.blog.AuthenticationRealm.java

License:Open Source License

/**
 * ???//  w  w w. j  a va  2  s .  c om
 * 
 * @param principalCollection
 *            PrincipalCollection
 * @return ??
 */
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
    Principal principal = (Principal) principalCollection.fromRealm(getName()).iterator().next();
    if (principal != null) {
        List<String> authorities = adminService.findAuthorities(principal.getId());
        if (authorities != null) {
            SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();
            authorizationInfo.addStringPermissions(authorities);
            return authorizationInfo;
        }
    }
    return null;
}

From source file:cn.ruiyi.base.service.shiro.ShiroDbRealm.java

License:Apache License

/**
 * ?, ???./*from w ww.j  a  v  a2 s .  c o  m*/
 */
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    String loginName = (String) principals.getPrimaryPrincipal();
    //System.out.println("doGetAuthorizationInfo loginName:"+loginName);
    User user = accountService.findUserByLoginName(loginName);
    SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
    for (Role role : user.getRoleList()) {
        // Role???
        info.addRole(role.getName());
        //System.out.println("role name is " + role.getName());
        // Permission???
        info.addStringPermissions(role.getPermissions());
        //System.out.println("role permissions is " + role.getPermissionNames());
    }
    return info;
}

From source file:com.androidwhy.examples.showcase.service.ShiroDbRealm.java

License:Apache License

/**
 * ?, ???.//from w ww  .  j a  v a  2  s  . c om
 */
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    ShiroUser shiroUser = (ShiroUser) principals.getPrimaryPrincipal();
    User user = accountService.findUserByLoginName(shiroUser.loginName);

    SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
    for (Role role : user.getRoleList()) {
        //Role???
        info.addRole(role.getName());
        //Permission???
        info.addStringPermissions(role.getPermissionList());
    }
    return info;
}

From source file:com.app.AuthenticationRealm.java

License:Open Source License

/**
 * ???/*from ww w  . j a v a  2s .c o  m*/
 * 
 * @param principals
 *            principals
 * @return ??
 */
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    Principal principal = (Principal) principals.fromRealm(getName()).iterator().next();
    if (principal != null) {
        List<String> authorities = adminService.findAuthorities(principal.getId());
        if (authorities != null) {
            SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();
            authorizationInfo.addStringPermissions(authorities);
            return authorizationInfo;
        }
    }
    return null;
}

From source file:com.attendance.manage.security.AuthenticationRealm.java

License:Open Source License

/**
 * ???/*from w ww . j a  v  a2s . co m*/
 * 
 * @param principals
 *            principals
 * @return ??
 */
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    String username = String.valueOf(principals.getPrimaryPrincipal());
    final Stuff user = stuffServiceImpl.findByUsername(username);
    if (user != null) {
        List<String> authorities = stuffServiceImpl.findAuthorities(user.getId());
        if (authorities != null) {
            SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();
            authorizationInfo.addStringPermissions(authorities);
            return authorizationInfo;
        }
    }
    return null;
}