实际上我是 JSF 和 Facelets 和企业应用程序的新手,尽管我在过去 4 个月一直在研究它,无论如何,我正在开发一个具有登录、用户管理员和文档管理员的网页(它有更多但没关系),我必须根据每个用户的权限来管理页面的访问和内容。阅读有关安全性的内容后,我发现了许多登录方法,但我使用 Stateful Beans 制作了自己的方法,以便在应用程序中维护用户数据以供以后使用,这样我就可以限制内容。问题是......这是根据用户限制管理内容的正确方法吗?如果没有,哪种方法是最好和最安全的?
这是我的 Stateful Bean(我没有包括 Getter 和 Setter)
@ManagedBean
@Stateful
public class HandlerLogin implements Serializable{
@EJB
private LoginMethodsLocal loginMethods;
private String loginNickname;
private String loginPassword;
private String userData[];
//[0]=Nickname
//[1]=Name
//[2]=User Type
private boolean loguedIn= false;
public void check(){
System.out.println(this.loginNombre);
System.out.println(this.loginContrasena);
this.userData= loginMethods.Login(this.loginNickname, this.loginPassword);
//the method loginMethods.Login() queries in the database looking for
//"this.loginNickname" and "this.loginPassword"
if (this.userData!=null){
this.loguedIn=true;
}
else{
this.loguedIn= false;
FacesContext.getCurrentInstance().addMessage("mensajesLogin", new FacesMessage("Error, User Does not Exist"));
}
}
public void closeSession(){
this.userData=null;
}
}
所以我管理内容和导航的逻辑是检查什么样的用户,并根据它确定访问和渲染的方式