目前,我正在做一个使用JSF2.0、Tomcat7和MongoDB的Web项目.我有一个很大的问题,那就是如何处理数据库中用户的会话管理和身份验证/授权.
我想要的 struct 如下:只有登录的用户可以创建事件,每个人都可以看到创建的事件.
-
create.xhtml
--> only for logged in users. -
events.xhtml
--> public for everyone.
我计划的基本 struct 是:
- 判断页面是否需要登录用户(例如
create.xhtml
) - 如果是,判断用户是否已登录
- 如果用户未登录,请转到
login.xhtml
- 如果成功登录,请返回请求页面
- 保留"用户已登录"信息,除非用户单击"注销"
问题是:
- 做这件事不那么复杂的方法是什么?
- 我应该在哪里使用
@SessionScoped
注释?在Create.java
年或LoginManager.java
? - Spring Security对于我的问题看起来有点复杂,我真的要这么做吗? 需要吗?如果是,您能解释一下这个实现是如何与JSF2.0和Mongo DB一起工作的吗?