首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EJB3安全:如何跟踪已登录的用户?

EJB3安全:如何跟踪已登录的用户?
EN

Stack Overflow用户
提问于 2012-05-30 19:35:36
回答 1查看 456关注 0票数 0

我有一个EJB3应用程序作为服务层,一个Tapestry5Web应用程序作为它的客户端。EJB应该提供一个供web应用程序使用的会话外观。

要执行EJB层中定义的操作,用户需要通过web界面登录。我必须具有实体级别的安全性,所以Java EE声明式安全性在这里对我用处不大。

我应该如何在这种设置中实现安全性?我宁愿在EJB层实现它,而不是在web应用程序中实现它,以防我切换客户端。

我可以使用web应用程序中的http会话来存储用户会话,然后在每个无状态EJB调用中传递user对象。

代码语言:javascript
复制
public void doStuff(params, User user);

有状态会话bean是这里的解决方案吗?

编辑:实体级安全性指的是行级安全性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-30 21:26:38

你所说的实体级安全性到底是什么意思?

如果我没理解错的话,你是用登录用户直接从你的user应用程序调用你的SLSB的吗?

如果是这样的话:编写一个Inteceptor,它将SessionContext作为一个资源注入,并用这个拦截器注释你的SLSB...在拦截器的@AroundInvoke中,你可以从SessionContext获取主体,然后你可以做任何你想做的事情(例如,查询用户的数据库,如果有问题,直接从拦截器抛出一个异常,而不是让它进入你的SLSB)。

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

https://stackoverflow.com/questions/10815504

复制
相关文章

相似问题

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