【发布时间】:2019-04-15 19:43:27
【问题描述】:
我正在使用 pac4j 的 jsx-rs 实现来仅为我的应用程序启用 AUTHENTICATION。对于授权,我想使用 Shiro。但我不确定如何将 Shiro 与 pac4j 集成。
目前,我有一个 Feature,它执行必要的 JAX-RS 配置,我已将其设为 Provider
以下是我注册的功能和提供程序。
featureContext
.register(new JaxRsConfigProvider(config))
.register(new Pac4JSecurityFeature())
.register(new Pac4JValueFactoryProvider.Binder())
.register(new ServletJaxRsContextFactoryProvider())
.register(new Pac4JSecurityFilterFeature(false, null, "keycloakoidcclient", "callback", false))
我正在使用 Shiro 的 AuthorizationFilter 进行身份验证部分。我的意思是我正在根据登录的用户创建一个令牌。我已经使用 Guice 的ServletModule 注册了这个过滤器。但我无法控制登录用户。我正在尝试使用@Context 注入泽西岛的SecurityContext。但是过滤器排序搞砸了。 AuthorizationFilter 在身份验证完成之前被调用。因此SecurityContext 始终为空。
有没有更好的方法将 Shiro 与 pac4j 集成?
【问题讨论】:
标签: java security shiro java-security