首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wildfly Elytron:主体在SimpleSecurityManager中不可用

Wildfly Elytron:主体在SimpleSecurityManager中不可用
EN

Stack Overflow用户
提问于 2018-06-07 22:14:15
回答 1查看 269关注 0票数 1

我在https://github.com/wildfly-security-incubator/elytron-examples/tree/master/simple-http-mechanism中使用PasswordGuessEvidence和示例中提到的其他回调实现了一个类似于CustomHeaderHttpAuthenticationMechanism的身份验证机制。自定义机制的原因是,除了简单的凭据检查之外,我们还需要验证更多的约束,以检查用户是否通过验证。

单步执行此身份验证机制看起来相当不错,调用了authenticationComplete方法,而且authorizeCallback也成功了。但是,当通过resteasy端点访问EJB时(EJB用@SecurityDomain和@RolesAllowed注释...)SimpleSecurityManager.authorize方法失败是因为securityContext.getUtil方法既没有提供主体,也没有提供其他东西。如果访问由@PermitAll注释的方法,则成功。

我猜主体应该是在处理不同的回调时由ServerAuthenticationContext创建的,对吧?

如何管理SimpleSecurityManager可以识别主体,是否需要在我的身份验证机制中创建主体,以及如何创建主体?

EN

回答 1

Stack Overflow用户

发布于 2018-09-12 16:32:20

在这种情况下,您的WildFly部署似乎还没有映射到Elytron安全域,因此仍在使用EJB层中的PicketBox安全性,这就是为什么您看不到身份已经建立的原因。

在EJB子系统中,您还可以添加一个应用程序-安全域映射,以从部署中指定的安全域映射到WildFly Elytron安全域。

仅供参考,在未来的某个时刻,当我们准备从服务器中删除PicketBox时,将不再需要这些额外的映射,不幸的是,目前需要它们,而我们同时拥有两种解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50743495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档