我正在尝试将应用程序从WebSphere 7.0迁移到JBoss EAP 6.4。
我已完成所有必要的更改以查看网页。但是我的问题从那时开始。
在web.xml上,几个jsp文件有6种不同的安全角色声明。
当我从浏览器中打开应用程序时,它会向我显示欢迎页面,
但是,当我单击登录按钮时,在EAP 6.4上看到403错误。
当我在WebSphere上打开相同的应用程序并单击登录按钮时,它会打开一个浏览器弹出窗口,要求输入用户名和密码。
安全角色就是这些
<security-role>
<description></description>
<role-name>xxxx</role-name>
</security-role>
<security-role>
<description></description>
<role-name>yyyy</role-name>
</security-role>
<security-role>
<description></description>
<role-name>zzzz</role-name>
</security-role>
<security-role>
<description></description>
<role-name>kkkk</role-name>
</security-role>
<security-role>
<description></description>
<role-name>pppp</role-name>
</security-role>
<security-role>
<description></description>
<role-name>llll</role-name>
</security-role>
这些是针对jsp页面的auth-constraint和security-constraint。
<security-constraint>
<display-name>xxxx</display-name>
<web-resource-collection>
<web-resource-name>xxxx</web-resource-name>
<description></description>
<url-pattern>/jsp/auth/*</url-pattern>
<url-pattern>/jsp/includes/*</url-pattern>
<url-pattern>*.do</url-pattern>
<url-pattern>/jsp/menu.jsp</url-pattern>
<http-method>GET</http-method>
<http-method>PUT</http-method>
<http-method>HEAD</http-method>
<http-method>TRACE</http-method>
<http-method>POST</http-method>
<http-method>DELETE</http-method>
<http-method>OPTIONS</http-method>
</web-resource-collection>
<auth-constraint>
<description></description>
<role-name>xxxx</role-name>
</auth-constraint>
</security-constraint>
我相信我必须在JBoss EAP 6.4上定义这些角色,以使其像在WebSphere上一样工作。
所以,我的问题是: 如何在JBoss EAP 6.4中定义这些角色?我检查了文档并尝试进行操作,但是无法正常工作。
谢谢。
答案 0 :(得分:0)
我解决了自己的问题。
解决步骤如下:
1-打开jboss-cli.bat并在服务器启动时连接->
2-运行以下命令:/ core-service = management / access = authorization:write-attribute(name = provider,value = rbac)
3-打开add-user.bat
4-使用所需的组将新用户添加到ApplicationRealm。作为角色我有哪些疑问。
之后,检查application-users.properties和application-roles.properties。如果您写到add-user.bat的文件在那里,那么您就可以开始使用。
如果提供程序已更改为RBAC,也请检查standalone.xml。
这就是我要做的所有事情。