WildFly 23.0.2 BASIC认证不生效,API资源未受保护问题咨询
排查解决步骤
- 优先修复web.xml语法错误
你提供的web.xml中<web-app>标签没有正确闭合,version="4.0"属性后缺失了标签结束符>,这个错误会导致整个web.xml配置解析失败,安全约束完全不生效。
修正后的web-app头配置应为:
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0">
校验安全域配置匹配关系
确认JBoss/WildFly服务端已正确配置ApplicationDomain安全域,且该安全域绑定了你配置的ApplicationRealm,同时Realm中已创建了分配user角色的测试用户。可以通过服务端管理控制台查看安全域的登录模块配置,确保用户存储(比如properties文件、数据库)的配置正确。检查访问路径匹配规则
确认你实际访问的路径和配置的/api/hello-world完全匹配:如果你的应用配置了上下文路径,需要在路径前加上上下文路径才能命中安全约束,比如应用上下文为/demo,则访问路径应为http://{服务地址}/demo/api/hello-world才会触发认证校验。排查其他配置覆盖问题
确认应用中没有其他安全框架(比如Spring Security)、web-fragment.xml配置,或者服务端全局配置了未认证访问豁免规则,覆盖了web.xml中的安全约束配置。查看部署日志定位错误
查看应用部署时的服务端日志,确认是否存在配置解析失败、安全域不存在、角色未注册等报错信息,这类错误都会导致安全配置不加载,应用以未受保护状态运行。
修复完成后清理服务缓存重新部署应用,使用不带任何认证头的请求访问资源,正常会返回401状态码,触发浏览器的BASIC认证弹窗。
内容的提问来源于stack exchange,提问作者Pasquale Martorano
相关产品推荐
相关产品推荐

