如何在JavaEE6中实现身份验证机制
我试图学习JavaEE6,我只是想知道如何在JavaEE6中实现身份验证机制 以下是Java EE 6身份验证示例:如何在JavaEE6中实现身份验证机制,java,security,authentication,jakarta-ee,java-ee-6,Java,Security,Authentication,Jakarta Ee,Java Ee 6,我试图学习JavaEE6,我只是想知道如何在JavaEE6中实现身份验证机制 以下是Java EE 6身份验证示例: public void login() { if (account.authenticate(name, password) == null) { message = "Invalid user name or password!"; } else { message = " Login suc
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"));
}
}
}
我有以下问题:
请求.登录
功能检查名称和密码?它不知道用户实体
允许实现编程安全性,并在为ServletContext配置的web容器登录机制使用的密码验证域中验证提供的用户名和密码
换句话说,它将身份验证检查委托给容器,并且该检查是针对webapp的安全领域进行的。这是一种非常好的替代基于表单的身份验证的方法
在实际操作中很好地展示了此功能。如果您不想使用文件领域,而是使用JDBC领域,请选中
另见