【发布时间】:2012-08-10 14:26:56
【问题描述】:
我按照这个教程在 weblogic 中创建安全角色:http://blog.whitehorses.nl/2010/01/29/weblogic-web-application-container-security-part-1/
我在 weblogic 服务器组 RobMon 中创建并使用 pass 进行用户监控。然后我创建这个 xml:
我的 web.xml:
<security-constraint>
<web-resource-collection>
<web-resource-name>my-application</web-resource-name>
<url-pattern>/admin</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>RobMon</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<role-name>RobMon</role-name>
</security-role>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login</form-login-page>
<form-error-page>/login</form-error-page>
</form-login-config>
</login-config>
weblogic.xml:
<wls:security-role-assignment>
<wls:role-name>RobMon</wls:role-name>
<wls:principal-name>RobMon</wls:principal-name>
</wls:security-role-assignment>
现在我想println的作用和原则:
Subject subject = Security.getCurrentSubject();
Set<Principal> allPrincipals = subject.getPrincipals();
for (Principal principal : allPrincipals) {
if (principal instanceof WLSGroupImpl) {
logger.error(principal.getName() + "??????????");
roles.add(principal.getName());
}
if (principal instanceof WLSUserImpl) {
logger.error(principal.getName() + "!!!!!!!!!!!");
user = principal.getName();
}
}
但这会打印出我想要的其他东西
admin!!!!!!!!!!!
Administrators??????????
它应该 println monitor 和 RobMon。怎么了?
【问题讨论】:
-
你的 weblogic 版本是多少?
-
WebLogic Server 10.3.4.0