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


Java Wrapper.findSecurityReference方法代码示例

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


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

示例1: validateSecurityRoles

import org.apache.catalina.Wrapper; //导入方法依赖的package包/类
/**
 * Validate the usage of security role names in the web application
 * deployment descriptor.  If any problems are found, issue warning
 * messages (for backwards compatibility) and add the missing roles.
 * (To make these problems fatal instead, simply set the <code>ok</code>
 * instance variable to <code>false</code> as well).
 */
protected void validateSecurityRoles() {

    // Check role names used in <security-constraint> elements
    SecurityConstraint constraints[] = context.findConstraints();
    for (int i = 0; i < constraints.length; i++) {
        String roles[] = constraints[i].findAuthRoles();
        for (int j = 0; j < roles.length; j++) {
            if (!"*".equals(roles[j]) &&
                !context.findSecurityRole(roles[j])) {
                log.warn(sm.getString("contextConfig.role.auth", roles[j]));
                context.addSecurityRole(roles[j]);
            }
        }
    }

    // Check role names used in <servlet> elements
    Container wrappers[] = context.findChildren();
    for (int i = 0; i < wrappers.length; i++) {
        Wrapper wrapper = (Wrapper) wrappers[i];
        String runAs = wrapper.getRunAs();
        if ((runAs != null) && !context.findSecurityRole(runAs)) {
            log.warn(sm.getString("contextConfig.role.runas", runAs));
            context.addSecurityRole(runAs);
        }
        String names[] = wrapper.findSecurityReferences();
        for (int j = 0; j < names.length; j++) {
            String link = wrapper.findSecurityReference(names[j]);
            if ((link != null) && !context.findSecurityRole(link)) {
                log.warn(sm.getString("contextConfig.role.link", link));
                context.addSecurityRole(link);
            }
        }
    }

}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:43,代码来源:ContextConfig.java

示例2: hasRole

import org.apache.catalina.Wrapper; //导入方法依赖的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 method can be overridden by Realm
 * implementations, but the default is adequate when an instance of
 * <code>GenericPrincipal</code> is used to represent authenticated
 * Principals from this Realm.
 *
 * @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;
    }

    // Should be overridden in JAASRealm - to avoid pretty inefficient conversions
    if ((principal == null) || (role == null) ||
        !(principal instanceof GenericPrincipal))
        return (false);

    GenericPrincipal gp = (GenericPrincipal) principal;
    boolean result = gp.hasRole(role);
    if (log.isDebugEnabled()) {
        String name = principal.getName();
        if (result)
            log.debug(sm.getString("realmBase.hasRoleSuccess", name, role));
        else
            log.debug(sm.getString("realmBase.hasRoleFailure", name, role));
    }
    return (result);

}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:38,代码来源:RealmBase.java

示例3: validateSecurityRoles

import org.apache.catalina.Wrapper; //导入方法依赖的package包/类
/**
 * Validate the usage of security role names in the web application
 * deployment descriptor.  If any problems are found, issue warning
 * messages (for backwards compatibility) and add the missing roles.
 * (To make these problems fatal instead, simply set the <code>ok</code>
 * instance variable to <code>false</code> as well).
 */
protected void validateSecurityRoles() {

    // Check role names used in <security-constraint> elements
    SecurityConstraint constraints[] = context.findConstraints();
    for (int i = 0; i < constraints.length; i++) {
        String roles[] = constraints[i].findAuthRoles();
        for (int j = 0; j < roles.length; j++) {
            if (!"*".equals(roles[j]) &&
                !context.findSecurityRole(roles[j])) {
                log.info(sm.getString("contextConfig.role.auth", roles[j]));
                context.addSecurityRole(roles[j]);
            }
        }
    }

    // Check role names used in <servlet> elements
    Container wrappers[] = context.findChildren();
    for (int i = 0; i < wrappers.length; i++) {
        Wrapper wrapper = (Wrapper) wrappers[i];
        String runAs = wrapper.getRunAs();
        if ((runAs != null) && !context.findSecurityRole(runAs)) {
            log.info(sm.getString("contextConfig.role.runas", runAs));
            context.addSecurityRole(runAs);
        }
        String names[] = wrapper.findSecurityReferences();
        for (int j = 0; j < names.length; j++) {
            String link = wrapper.findSecurityReference(names[j]);
            if ((link != null) && !context.findSecurityRole(link)) {
                log.info(sm.getString("contextConfig.role.link", link));
                context.addSecurityRole(link);
            }
        }
    }

}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:43,代码来源:ContextConfig.java

示例4: validateSecurityRoles

import org.apache.catalina.Wrapper; //导入方法依赖的package包/类
/**
 * Validate the usage of security role names in the web application
 * deployment descriptor.  If any problems are found, issue warning
 * messages (for backwards compatibility) and add the missing roles.
 * (To make these problems fatal instead, simply set the <code>ok</code>
 * instance variable to <code>false</code> as well).
 */
private void validateSecurityRoles() {

    // Check role names used in <security-constraint> elements
    SecurityConstraint constraints[] = context.findConstraints();
    for (int i = 0; i < constraints.length; i++) {
        String roles[] = constraints[i].findAuthRoles();
        for (int j = 0; j < roles.length; j++) {
            if (!"*".equals(roles[j]) &&
                !context.findSecurityRole(roles[j])) {
                log(sm.getString("contextConfig.role.auth", roles[j]));
                context.addSecurityRole(roles[j]);
            }
        }
    }

    // Check role names used in <servlet> elements
    Container wrappers[] = context.findChildren();
    for (int i = 0; i < wrappers.length; i++) {
        Wrapper wrapper = (Wrapper) wrappers[i];
        String runAs = wrapper.getRunAs();
        if ((runAs != null) && !context.findSecurityRole(runAs)) {
            log(sm.getString("contextConfig.role.runas", runAs));
            context.addSecurityRole(runAs);
        }
        String names[] = wrapper.findSecurityReferences();
        for (int j = 0; j < names.length; j++) {
            String link = wrapper.findSecurityReference(names[j]);
            if ((link != null) && !context.findSecurityRole(link)) {
                log(sm.getString("contextConfig.role.link", link));
                context.addSecurityRole(link);
            }
        }
    }

}
 
开发者ID:c-rainstorm,项目名称:jerrydog,代码行数:43,代码来源:ContextConfig.java

示例5: validateSecurityRoles

import org.apache.catalina.Wrapper; //导入方法依赖的package包/类
/**
 * Validate the usage of security role names in the web application
 * deployment descriptor. If any problems are found, issue warning messages
 * (for backwards compatibility) and add the missing roles. (To make these
 * problems fatal instead, simply set the <code>ok</code> instance variable
 * to <code>false</code> as well).
 */
protected void validateSecurityRoles() {

	// Check role names used in <security-constraint> elements
	SecurityConstraint constraints[] = context.findConstraints();
	for (int i = 0; i < constraints.length; i++) {
		String roles[] = constraints[i].findAuthRoles();
		for (int j = 0; j < roles.length; j++) {
			if (!"*".equals(roles[j]) && !context.findSecurityRole(roles[j])) {
				log.warn(sm.getString("contextConfig.role.auth", roles[j]));
				context.addSecurityRole(roles[j]);
			}
		}
	}

	// Check role names used in <servlet> elements
	Container wrappers[] = context.findChildren();
	for (int i = 0; i < wrappers.length; i++) {
		Wrapper wrapper = (Wrapper) wrappers[i];
		String runAs = wrapper.getRunAs();
		if ((runAs != null) && !context.findSecurityRole(runAs)) {
			log.warn(sm.getString("contextConfig.role.runas", runAs));
			context.addSecurityRole(runAs);
		}
		String names[] = wrapper.findSecurityReferences();
		for (int j = 0; j < names.length; j++) {
			String link = wrapper.findSecurityReference(names[j]);
			if ((link != null) && !context.findSecurityRole(link)) {
				log.warn(sm.getString("contextConfig.role.link", link));
				context.addSecurityRole(link);
			}
		}
	}

}
 
开发者ID:how2j,项目名称:lazycat,代码行数:42,代码来源:ContextConfig.java

示例6: hasRole

import org.apache.catalina.Wrapper; //导入方法依赖的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 method can be overridden by Realm
 * implementations, but the default is adequate when an instance of
 * <code>GenericPrincipal</code> is used to represent authenticated
 * Principals from this Realm.
 *
 * @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;
	}

	// Should be overridden in JAASRealm - to avoid pretty inefficient
	// conversions
	if ((principal == null) || (role == null) || !(principal instanceof GenericPrincipal))
		return (false);

	GenericPrincipal gp = (GenericPrincipal) principal;
	boolean result = gp.hasRole(role);
	if (log.isDebugEnabled()) {
		String name = principal.getName();
		if (result)
			log.debug(sm.getString("realmBase.hasRoleSuccess", name, role));
		else
			log.debug(sm.getString("realmBase.hasRoleFailure", name, role));
	}
	return (result);

}
 
开发者ID:how2j,项目名称:lazycat,代码行数:40,代码来源:RealmBase.java

示例7: hasRole

import org.apache.catalina.Wrapper; //导入方法依赖的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

示例8: hasRole

import org.apache.catalina.Wrapper; //导入方法依赖的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.Wrapper.findSecurityReference方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。