对于Wildfly,任何经过身份验证的用户都可以通过web.xml中的以下更改来访问任何受保护的资源
<auth-constraint>
<role-name>*</role-name>
</auth-constraint>
在安全性约束和定义安全角色如下
<security-role>
<role-name>*</role-name>
</security-role>
但是同样不适用于Websphere,抛出授权失败的异常,因为它需要在Websphere Adminconsole中进行更改。
如何跳过adminconsole更改以使其正常工作,或任何其他更好的方法。
答案 0 :(得分:0)
对我有用的是我在 web.xml 中定义ff:
explain analyze SELECT name FROM slides WHERE name ILIKE '%hu%';
QUERY PLAN
---------------------------------------------------------------------------------------------------------
Seq Scan on slides (cost=0.00..2803.86 rows=932 width=25) (actual time=0.053..31.075 rows=910 loops=1)
Filter: ((name)::text ~~* '%hu%'::text)
Rows Removed by Filter: 25399
Planning time: 0.954 ms
Execution time: 31.220 ms
(5 rows)
本质上,这定义了角色,然后是页面的单独定义以及允许访问它的角色。
然后我还在我的EAR文件中定义了 ibm-application-bnd.xml ,如下所示:
<security-role>
role1
</security-role>
<security-role>
role2
</security-role>
<security-constraint>
<display-name>All Authenticated</display-name>
<web-resource-collection>
<web-resource-name>
All Authenticated Pages
</web-resource-name>
<url-pattern>/webpage.xhtml</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>role1</role-name>
<role-name>role2</role-name>
</auth-constraint>
</security-constraint>
我认为WebSphere使用这个映射到它对你定义的角色进行分组。
希望这有助于推动你前进。
答案 1 :(得分:0)
为了实现上述目标,即对WebSphere中所有经过身份验证的用户的授权,创建一个逻辑角色[不需要创建任何物理组]说&#34; AllAuthneticated&#34;在web.xml中并将其作为授权约束提供。
<auth-constraint> <role-name>AllAuthneticated</role-name> </auth-constraint> <security-role> <role-name>AllAuthneticated</role-name> </security-role>
然后在EAR文件中定义ibm-application-bnd.xml,如下所示:
<security-role name="AllAuthneticated"> <special-subject type="ALL_AUTHENTICATED_USERS" /> </security-role>
上述角色映射将允许所有经过身份验证的用户访问受保护资源。