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

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

Introduction

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

Prototype

public void addStringPermission(String permission) 

Source Link

Document

Adds (assigns) a permission to those directly 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);// w  ww  .  ja  va 2  s  .co  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:apm.modules.sys.security.SystemAuthorizingRealm.java

License:Open Source License

/**
 * ?, ???//from  w w  w .  j av  a  2  s. c o m
 */
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    Principal principal = (Principal) getAvailablePrincipal(principals);
    User user = getUserService().findByLoginName(principal.getLoginName());
    if (user != null) {
        Users.putCache("user", user);
        SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
        List<Menu> list = Users.getMenuList();
        for (Menu menu : list) {
            if (StringUtils.isNotBlank(menu.getPermission())) {
                // Permission???
                info.addStringPermission(menu.getPermission());
            }
        }
        // IP
        getUserService().updateUserLoginInfo(user.getId());
        return info;
    } else {
        return null;
    }
}

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

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

License:Apache License

@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    System.out.println(/* ww w  .j  a v a2  s  . c  o  m*/
            " , ?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.threedov.cms.web.shiro.ShiroDbRealm.java

License:Apache License

/**
 * ?, ???./*from   www .j a  v a  2 s  . c  om*/
 */
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    ShiroUser shiroUser = (ShiroUser) principals.getPrimaryPrincipal();
    Admin user = adminService.findOne(shiroUser.getId());
    List<Role> roleList = adminService.findRoleByAdmin(user);
    List<Right> rights = roleRightService.findRightByRoleIn(roleList);

    SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();

    for (Role role : roleList) {
        info.addRole(role.getName());
    }

    for (Right right : rights) {
        if (StringUtils.isNotBlank(right.getDescription())) {
            info.addStringPermission(right.getDescription());
        }
        for (Right child : right.getChildren()) {
            if (StringUtils.isNotBlank(child.getDescription())) {
                info.addStringPermission(child.getDescription());
            }
        }
    }

    return info;
}

From source file:cn.wm.sum.security.shiro.service.ShiroDbRealm.java

License:Apache License

/**
 * ?, ???./*w  w  w.  ja va 2 s. co  m*/
 */
@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.getDescription());
        List<Permission> permissions = role.getPermissions();
        // Permission???
        for (Permission permission : permissions) {
            if (StringUtils.isNotBlank(permission.getDescription())) {
                info.addStringPermission(permission.getDescription());
            }
        }
    }

    return info;
}

From source file:com.aistor.modules.sys.security.SystemRealm.java

License:Open Source License

/**
 * ?, ???/*from  w  w  w  .  j a  v  a 2  s .  co  m*/
 */
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    Principal principal = (Principal) getAvailablePrincipal(principals);
    User user = systemService.getUserByLoginName(principal.getLoginName());
    if (user != null) {
        UserUtils.putCache("user", user);
        SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
        List<Menu> list = systemService.findAllMenu();
        for (Menu menu : list) {
            if (StringUtils.isNotBlank(menu.getPermission())) {
                // Permission???
                info.addStringPermission(menu.getPermission());
            }
        }
        // IP
        systemService.updateUserLoginInfo(user.getId());
        return info;
    } else {
        return null;
    }
}

From source file:com.asia.bomc.workflow.security.SecurityRealm.java

License:Apache License

@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    SimpleAuthorizationInfo info = null;
    String currentUsername = (String) super.getAvailablePrincipal(principals);
    List<UserLogin> users = UserService.findByUserName(currentUsername);
    UserLogin user = null;//from  w  ww  . j  a va2 s  . c o  m
    if (users.size() > 0) {
        user = users.get(0);
        info = new SimpleAuthorizationInfo();
        Set<UserLoginRoleAssoc> userRoleAssocs = user.getUserLoginRoleAssocs();

        if (!CollectionUtils.isEmpty(userRoleAssocs)) {
            for (UserLoginRoleAssoc assoc : userRoleAssocs) {

                info.addRole(assoc.getId().getRoleId());
                Collection<SecurityPermission> permissions = assoc.getRole().getPermissions();
                if (!CollectionUtils.isEmpty(permissions)) {
                    for (SecurityPermission permission : permissions)
                        info.addStringPermission(permission.getPermissionId());
                }
            }
        }
    }

    return info;
}

From source file:com.autumnframework.common.shiroconfig.realm.ShiroDbRealm.java

License:Open Source License

/**
 * ???/*from w w w. ja  v a  2s  . com*/
 *
 * @param principals
 * @return
 */
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    //        if (!super.isAuthenticationCachingEnabled()) {
    //            super.setCachingEnabled(authenticationCachingEnabled);
    //        }
    if (principals == null) {
        throw new AuthorizationException("Principal?");
    }

    User user = (User) getAvailablePrincipal(principals);
    log.info("??????:" + user.getUser_login_name());
    log.info("load user information:" + user.getUser_login_name());
    SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();

    List<Resource> resUserList = resourceService.selectResListByUserId(user.getId());
    for (Resource resUser : resUserList) {
        info.addStringPermission(String.valueOf(resUser.getId()));
    }

    List<Plugin> pluginList = pluginMapper.selectPluginByUserId(user.getId());
    for (Plugin plugin : pluginList) {
        info.addStringPermission(String.valueOf(plugin.getId()));
    }
    return info;
}

From source file:com.blazarquant.bfp.core.security.config.DatabaseUserRealm.java

License:Apache License

@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    UserDetails userDetails = (UserDetails) principals.fromRealm(getName()).iterator().next();
    if (userDetails != null) {
        List<Role> userRoles = userDAO.findUserRoles(userDetails.getUserID());
        SimpleAuthorizationInfo authInfo = new SimpleAuthorizationInfo();
        userRoles.forEach(r -> authInfo.addRole(r.getName()));
        List<String> userPermissions = userDAO.findUserPermissions(userDetails.getUserID());
        userPermissions.forEach(p -> authInfo.addStringPermission(p));
        return authInfo;
    }//from   w  w w.jav a 2 s.com
    return null;
}