由于 EJB 授权对我的需求来说太有限了,所以我想将 Spring Security 与 EJB 一起使用。对于身份验证,我也想使用 Spring Security。问题是,我是否可以在 EJB 中使用 Spring Security 上下文。
场景:
- 用户与 servlet 通信
- 通过 Spring Security 进行身份验证
- servlet 与 EJB 通信
- EJB 可以与其他 EJB 通信
- 使用 EJB 拦截器或直接在 EJB 方法中进行安全检查
安全上下文(通常保存在线程本地对象中)是否会通过 servlet 和 ejb 层传播,以便我可以将其用于安全检查?
最佳答案
如果您在集群中操作,或者 EJB 在不同的服务器上运行,那么每个服务器(当然)都将运行它自己的线程,因此不会发生传播。
如果它们都在同一台服务器上,那么它们可能会,但我认为这取决于供应商,除非您使用的是本地接口(interface)而不是远程接口(interface)。
关于java - 使用 EJB 的 Spring Security,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2239192/