Java 如何仅对特定url路径应用HttpAuthenticationMechanism?
我在应用程序中按照JavaEE8JWT安全示例的结构实现基于角色的授权:Java 如何仅对特定url路径应用HttpAuthenticationMechanism?,java,Java,我在应用程序中按照JavaEE8JWT安全示例的结构实现基于角色的授权: 我有一个基于会话的安全性和JSF的后端应用程序。身份验证和授权由WebFilter管理: @WebFilter(urlPatterns = "/faces/*") public class AuthorizationFilter implements Filter { } 我有一个基于JWT令牌安全性的REST api,我想在其中实现用于管理身份验证和授权的HttpAuthenticationMechanism 为了
@WebFilter(urlPatterns = "/faces/*")
public class AuthorizationFilter implements Filter {
}
@ApplicationPath("rest")
public class RestApplication extends Application {
public RestApplication() {
}
}
可能有更简洁的方法,但您可以实现自己的HttpAuthenticationMechanism,并将其委托给您想要使用的任何标准实现。然后,您可以让包装器检查传入的URL,并简单地返回任何有意义的URL(成功?),以便其他机制启动并执行真正的身份验证。@Steve我确实可以这样做。我已经通过制作JWTAuthenticationMechanism实现了该接口,但这感觉像是解决此问题的肮脏方式:)。如果没有更干净的方法,这是最后一个选择。谢谢你的回答!我也问了同样的问题,结果是。我在寻找更好的方法too@KoheiNozaki,感谢您分享您的解决方案。作为一个临时解决方案,它对我来说真的很有用。但是,我认为API中应该嵌入一些功能,这些功能只应用于应用程序的某个部分。