Jakarta ee TomEE、JAAS、SQLLoginModule和403
我已将SQLLoginModule添加到我的部署(TomEE 1.5.1):Jakarta ee TomEE、JAAS、SQLLoginModule和403,jakarta-ee,web.xml,http-status-code-403,jaas,apache-tomee,Jakarta Ee,Web.xml,Http Status Code 403,Jaas,Apache Tomee,我已将SQLLoginModule添加到我的部署(TomEE 1.5.1): 指向login.config的系统属性 login.config配置为使用SQLLogin域 已更新server.xml以使用此域 这是web.xml(我几乎可以肯定问题就在这里) 无担保 不安全区域 /login.html 保密的 整个应用程序 *.html 管理 超级用户 使用者 保密的 管理 超级用户 使用者 形式 SQLLogin /login.html /login.html testRest.html
无担保
不安全区域
/login.html
保密的
整个应用程序
*.html
管理
超级用户
使用者
保密的
管理
超级用户
使用者
形式
SQLLogin
/login.html
/login.html
testRest.html
部署和登录时,我甚至远程调试了org.apache.openejb.core.security.jaas.SQLLoginModule
,没有例外,但由于某种原因,重定向到欢迎文件失败,我收到了403拒绝访问错误
有什么想法吗?那么,在我个人的“通过多洛洛洛萨”之后,这里有一个解决方案:)
首先,错误出现在server.xml JAASRealm配置中。
使用我以前使用的指令 下载tomcat源代码并进行一些调试后,我发现,
org.apache.openejb.core.security.jaas.SQLLoginModule
实际生成的主体是:
userClassNames="org.apache.openejb.core.security.jaas.UserPrincipal"
roleClassNames="org.apache.openejb.core.security.jaas.GroupPrincipal"
这就解决了问题
userClassNames="org.apache.openejb.core.security.AbstractSecurityService$User"
roleClassNames="org.apache.openejb.core.security.AbstractSecurityService$Group"
userClassNames="org.apache.openejb.core.security.jaas.UserPrincipal"
roleClassNames="org.apache.openejb.core.security.jaas.GroupPrincipal"