用JSF登录后的状态

时间:2011-09-29 21:52:21

标签: jsf

我是JSF的新手,想要创建应用的登录部分。我有一个登录页面 我在哪里验证数据库的登录。这很好,但我无法弄清楚逻辑 在以下部分。合法用户应重定向到自己的个人资料页面,非合法用户应重定向到常见错误页面。如何将身份从登录“传输”到配置文件页面。我可以从数据库中获取配置文件页面所需的所有信息,因此我希望从登录中传输bean以创建用户相关视图。我已经在线查看了教程但是找不到示例,除了更简单的示例,其中没有使用用户身份,例如,密码和用户名简单地与硬编码值匹配。我认为有一些潜在的“想法”我没有得到,因为这应该很简单,对吧?

1 个答案:

答案 0 :(得分:1)

将它放在会话范围的托管bean中。这是一个基本的启动示例:

@ManagedBean
@SessionScoped
public class ActiveUser {

    private User user = new User();

    @EJB
    private UserService userService;

    public String login() {
        User found = userService.find(user);

        if (found == null) {
            setGlobalMessage("Invalid login, try again");
            return null;
        } else {
            user = found;
            return "userprofile";
        }
    }

    public void isLoggedIn() {
        return user.getId() != null;
    }

    // ...
}

您可以拦截其在过滤器中的存在。

另见