当前位置: 首页>>代码示例>>Java>>正文


Java User.isInRole方法代码示例

本文整理汇总了Java中org.apache.catalina.User.isInRole方法的典型用法代码示例。如果您正苦于以下问题:Java User.isInRole方法的具体用法?Java User.isInRole怎么用?Java User.isInRole使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.catalina.User的用法示例。


在下文中一共展示了User.isInRole方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: hasRole

import org.apache.catalina.User; //导入方法依赖的package包/类
/**
 * Return <code>true</code> if the specified Principal has the specified
 * security role, within the context of this Realm; otherwise return
 * <code>false</code>. This implementation returns <code>true</code>
 * if the <code>User</code> has the role, or if any <code>Group</code>
 * that the <code>User</code> is a member of has the role. 
 *
 * @param principal Principal for whom the role is to be checked
 * @param role Security role to be checked
 */
@Override
public boolean hasRole(Wrapper wrapper, Principal principal, String role) {
    // Check for a role alias defined in a <security-role-ref> element
    if (wrapper != null) {
        String realRole = wrapper.findSecurityReference(role);
        if (realRole != null)
            role = realRole;
    }
    if( principal instanceof GenericPrincipal) {
        GenericPrincipal gp = (GenericPrincipal)principal;
        if(gp.getUserPrincipal() instanceof User) {
            principal = gp.getUserPrincipal();
        }
    }
    if(! (principal instanceof User) ) {
        //Play nice with SSO and mixed Realms
        return super.hasRole(null, principal, role);
    }
    if("*".equals(role)) {
        return true;
    } else if(role == null) {
        return false;
    }
    User user = (User)principal;
    Role dbrole = database.findRole(role);
    if(dbrole == null) {
        return false; 
    }
    if(user.isInRole(dbrole)) {
        return true;
    }
    Iterator<Group> groups = user.getGroups();
    while(groups.hasNext()) {
        Group group = groups.next();
        if(group.isInRole(dbrole)) {
            return true;
        }
    }
    return false;
}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:51,代码来源:UserDatabaseRealm.java

示例2: hasRole

import org.apache.catalina.User; //导入方法依赖的package包/类
/**
 * Return <code>true</code> if the specified Principal has the specified
 * security role, within the context of this Realm; otherwise return
 * <code>false</code>. This implementation returns <code>true</code> if the
 * <code>User</code> has the role, or if any <code>Group</code> that the
 * <code>User</code> is a member of has the role.
 *
 * @param principal
 *            Principal for whom the role is to be checked
 * @param role
 *            Security role to be checked
 */
@Override
public boolean hasRole(Wrapper wrapper, Principal principal, String role) {
	// Check for a role alias defined in a <security-role-ref> element
	if (wrapper != null) {
		String realRole = wrapper.findSecurityReference(role);
		if (realRole != null)
			role = realRole;
	}
	if (principal instanceof GenericPrincipal) {
		GenericPrincipal gp = (GenericPrincipal) principal;
		if (gp.getUserPrincipal() instanceof User) {
			principal = gp.getUserPrincipal();
		}
	}
	if (!(principal instanceof User)) {
		// Play nice with SSO and mixed Realms
		return super.hasRole(null, principal, role);
	}
	if ("*".equals(role)) {
		return true;
	} else if (role == null) {
		return false;
	}
	User user = (User) principal;
	Role dbrole = database.findRole(role);
	if (dbrole == null) {
		return false;
	}
	if (user.isInRole(dbrole)) {
		return true;
	}
	Iterator<Group> groups = user.getGroups();
	while (groups.hasNext()) {
		Group group = groups.next();
		if (group.isInRole(dbrole)) {
			return true;
		}
	}
	return false;
}
 
开发者ID:how2j,项目名称:lazycat,代码行数:53,代码来源:UserDatabaseRealm.java


注:本文中的org.apache.catalina.User.isInRole方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。