繁体   English   中英

如何在Java EE 6中实现认证机制

[英]How to implement authentication mechanism in Java EE 6

我正在尝试学习Java EE 6,我只是想知道如何在Java EE 6中实现认证机制。

这是Java EE 6认证示例:

    public void login() {
    if (account.authenticate(name, password) == null) {
        message = "Invalid user name or password!";
    } else {
        message = " Login successful";
        FacesContext context = FacesContext.getCurrentInstance();
        HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest();
        try {
            request.login(this.name, this.password);
            Principal principal = FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal();
            name = principal.getName();
        } catch (ServletException e) {
            // Handle unknown username/password in request.login().
            context.addMessage(null, new FacesMessage("Unknown login"));
        }
    }
}

我有以下问题:

  1. request.login函数如何检查名称和密码? 它不知道用户实体?
  2. 如果不是正确的方法。 如何实现标准认证机制

最后,谢谢你的建议,我需要一个非常好的教程或建议。

request.login函数如何检查名称和密码? 它不知道用户实体?

request.login允许实现编程安全性并验证在为ServletContext配置的Web容器登录机制使用的密码验证领域中提供的用户名和密码

换句话说,它将身份验证检查委托给容器,并且此检查是针对webapp的安全领域完成的。 这是基于FORM的身份验证的一个非常好的替代方法。

验证没有表 已经 有一个不错的截屏显示在操作此功能。 如果您不想使用文件领域而是使用JDBC领域,请查看此博客文章

也可以看看

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM