【发布时间】:2016-04-23 14:11:50
【问题描述】:
我正在尝试将我的安全领域从 GlassFish 4 迁移到 WildFly 10,遵循 this guide。
我有:
- 将我的数据源设置为
java:/RemindersDS并验证它可以正常工作。 -
如下设置我的域:
<security-domain name="RemindersDomain" cache-type="default"> <authentication> <login-module code="Database" flag="required"> <module-option name="dsJndiName" value="java:/RemindersDS"/> <module-option name="principalsQuery" value="SELECT password FROM Authentication WHERE username = ?"/> <module-option name="rolesQuery" value="SELECT rolename, 'Roles' FROM User_roles WHERE username = ?"/> <module-option name="hashAlgorithm" value="SHA-256"/> <module-option name="hashEncoding" value="BASE64"/> </login-module> <login-module code="RoleMapping" flag="required"> <module-option name="rolesProperties" value="file:${jboss.server.config.dir}/reminders-domain.properties"/> <module-option name="replaceRole" value="false"/> </login-module> </authentication> </security-domain> 验证了上述查询。
-
在configuration目录中添加了reminders-domain.properties文件,内容如下:
user=user admin=admin,user 将
<security-domain>RemindersDomain</security-domain>添加到我的jboss-web.xml。-
在我的 web.xml 中添加了以下内容:
<security-constraint> <display-name>Update and delete users</display-name> <web-resource-collection> <web-resource-name>Users</web-resource-name> <description/> <url-pattern>/api/users/*</url-pattern> <http-method>PUT</http-method> <http-method>DELETE</http-method> </web-resource-collection> <auth-constraint> <description/> <role-name>admin</role-name> <role-name>user</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>BASIC</auth-method> <realm-name>RemindersDomain</realm-name> </login-config> <security-role> <description/> <role-name>admin</role-name> </security-role> <security-role> <description/> <role-name>user</role-name> </security-role>
应用程序部署成功,但每当我尝试执行受限请求时,都会收到 401 Unauthorized 响应。我正在使用 Postman 发送这些请求(并为 HTTP 基本身份验证生成标头)。
我在这里缺少什么?我能做些什么来调试这个问题? WildFly 的日志没有报告任何问题。
【问题讨论】:
-
您可以将安全域中的调试级别设置为 true 以获得更好的日志记录。看来问题还是解决了。
标签: java jakarta-ee jboss wildfly