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

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

Introduction

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

Prototype

public void addRole(String role) 

Source Link

Document

Adds (assigns) a role to those associated 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);

            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());
        }/*from   w  w w  .  j av a 2s.  c o m*/
    } 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   w ww  .  ja va 2s . 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 {// www .j a va 2  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:b4f.seguridad.ShiroAuthorizingRealm.java

public AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {

    System.out.println("ShiroAuthorizingRealm.doGetAuthorizationInfo()");

    String userName = (String) (principals.fromRealm(getName()).iterator().next());
    Usuario user;/*  ww  w.  ja  v  a  2  s  . c o m*/
    try {
        user = UsersManager.getUser(userName);
    } catch (Exception ex) {
        throw new RuntimeException("Error looking up user " + userName, ex);
    }

    if (user != null) {
        List<String> roles;
        try {
            //TODO IMPLEMENTAR ROLES
            roles = new ArrayList<>();
            //                roles = umgr.getRoles(user);
        } catch (Exception ex) {
            throw new RuntimeException("Error looking up roles for user " + userName, ex);
        }
        SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
        for (String role : roles) {
            info.addRole(role);
        }
        System.out.println("Returning " + roles.size() + " roles for user " + userName + " roles= " + roles);
        return info;

    } else {
        throw new RuntimeException("Usuarioname not found: " + userName);
    }
}

From source file:cn.com.infcn.ade.system.service.UserRealm.java

/**
 * ?, ???./*from www  .j ava2 s. c  o  m*/
 */
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    ShiroUser shiroUser = (ShiroUser) principals.getPrimaryPrincipal();
    User user = userService.getUser(shiroUser.loginName);

    //principalssession key=userId value=principals
    SecurityUtils.getSubject().getSession().setAttribute(String.valueOf(user.getId()),
            SecurityUtils.getSubject().getPrincipals());

    SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
    //
    for (UserRole userRole : user.getUserRoles()) {
        info.addRole(userRole.getRole().getName());
    }
    //??
    for (Permission permission : permissionService.getPermissions(user.getId())) {
        if (StringUtils.isNotBlank(permission.getPermCode()))
            info.addStringPermission(permission.getPermCode());
    }

    //?
    userService.updateUserLogin(user);
    return info;
}

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

License:Apache License

/**
 * ?, ???.//  w ww.j a v a 2  s.c  o 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.ilongfei.shiro.util.ShiroRealmImpl.java

License:Apache License

@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    System.out.println(/*from w  w w  . java  2s .c om*/
            " , ?loaddoGetAuthorizationInfo.................");

    //  doGetAuthenticationInfo ?
    ShiroUser shiroUser = (ShiroUser) principals.fromRealm(getName()).iterator().next();

    String userName = shiroUser.getName();
    if ("".equals(userName)) {

        SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();

        // ?<shiro:hasRole>name
        info.addRole("admin");
        // ? <shiro:hasPermission> name
        info.addStringPermission("user:edit");

        return info;
    } else if ("test".equals(userName)) {
        SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();

        // ?<shiro:hasRole>name
        info.addRole("test");
        // ? <shiro:hasPermission> name,  ?,? 
        info.addStringPermission("user:view");

        return info;
    } else {
        return null;
    }
}

From source file:cn.ligoo.part.service.shiro.CustomAuthorizingRealm.java

License:Apache License

/**
 * ?, ???./*from www .  java  2s  .c  om*/
 */
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    logger.debug("...CustomAuthorizingRealm.doGetAuthorizationInfo()");
    ShiroUser shiroUser = (ShiroUser) principals.getPrimaryPrincipal();
    Assert.notNull(shiroUser, "?principalsshiroUser");

    UserInfo user = userInfoService.findByEmail(shiroUser.email);
    SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
    logger.debug("...add role admin");
    info.addRole("admin");

    SecurityUtils.getSubject().getSession().setAttribute(Constants.SESSION_USER_INFO, user);
    return info;
}

From source file:cn.newtouch.dms.shiro.ShiroRealm.java

License:Apache License

/**
 * ?, ???./*from   w  w w  .  j ava 2 s  .c o m*/
 */
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    ShiroUser shiroUser = (ShiroUser) principals.getPrimaryPrincipal();
    Member member = memberService.findMemberByPdcId(shiroUser.pdcId);
    SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
    Role role = roleService.getRoleById(member.getRoleId());
    if (role != null) {
        info.addRole(role.getCode());
    }
    return info;
}

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

License:Apache License

/**
 * ?, ???./*from  w  w  w.  jav a  2  s  .com*/
 */
@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;
}