检查用户是否已登录的最安全方法是什么?

时间:2013-01-13 22:52:45

标签: authentication logging struts2

我读过许多问题,比如我的问题标题,但没有一个问题给我一个解决方案。

我实现了一个网站(使用struts2框架),我不知道检查用户是否已经登录的最安全的方法是什么。我的网站有付款功能,所以我应该小心这一点。

我读过的所有解决方案都是这样的:

// Is there a "user" object stored in the user's HttpSession?
    Object user = session.getAttribute (USER_HANDLE);
    if (user == null) {
        // The user has not logged in yet.
    }
    else {
       // the user has logged in
    }

我想知道有些坏人有可能创建像用户对象这样的假会话对象,然后可以在没有有效密码的情况下登录系统吗?

我也想知道它的实践方式,在每个必需的登录页面中, 不仅检查用户对象是否为空,还检查数据库中的用户名和密码

2 个答案:

答案 0 :(得分:3)

也许你应该使用像spring security或Apache Shiro这样的安全框架。

答案 1 :(得分:1)

安全问题始终基于您的要求,简单地说您需要哪种安全性,因为有关于Web的各种安全层。但正如您所提到的,这可以实现使用Struts2-Interceptors,因为它为您提供了在调用操作之前和之后执行某些基本操作的术语。例如,请参阅this link