2013-03-31 50 views
1

我正尝试使用Java EE(Hibernate,Glassfish,JSF)制作简单的登录系统。我完成了对用户标识数据的处理,即用户可以输入用户名和密码,并与数据库进行核对,并在其正确的情况下将其记录下来。但是,我想包含只有会员才能看到的特定页面。我如何跟踪会员是否登录?以及如何获取特定用户的信息?例如:使用Java EE的登录系统

例如:我登录并要更改我的密码,因此我会转到包含我的用户详细信息的页面并输入新密码。我如何管理这个服务器端?

我使用servlet吗?饼干?会议?我迷路了(a)

我希望我的问题很清楚,并且非常感谢您的帮助。 非常感谢!

+0

[如何处理数据库中用户的身份验证/授权?](http://stackoverflow.com/questions/9965708/how-to-handle-authentication-authorization-with-users-in-a - 数据库) – BalusC

+0

也许这也将是有用的:[如何在jsf中实现登录过滤器](http://stackoverflow.com/questions/8480100/how-implement-a-login-filter-in-jsf) – rusty

回答

0

您应该将您的用户信息存储为SessionAttribute,如果会话有用户,则其他页面上应该存储该用户信息。 如果它已经正确加载页面,如果没有,您可以重定向到登录屏幕。

另一个问题(密码更改): 您可以使用表单为此创建一个页面。您要求用户输入他/她的旧密码,并输入新密码两次。 然后在提交时检查旧密码(如在登录时),检查新密码(如果您对此有任何标准,例如:长度,字符类型),如果两个新密码相同,请检查。 如果是这样,请更新您的数据库并使用新密码登录您的用户。

2

在Java EE 6中,您可以使用JASPIC API来创建并注册认证模块。有许多认证模块可供重复使用。

然后,您可以为web.xml中的URL模式配置约束,用户必须登录并且需要一个或多个角色。