最常用的方法是登录一次,验证与数据库用户信息(UNAME,密码),然后 在会议用户数据或用户角色节约(例如,具有会话作用域bean)。
这样的用户数据\用户角色依然存在,可以访问当你需要它(服务器端或客户端)
public class UserSession implements Serializable {
// login-related fields
protected String userName;
protected String userPassword;
protected Object requestInfo;
//session related info
private Object sessionInfo ;
private boolean loggedIn;
/** This method tries to login the user
*/
private login (userName,password){
loggedIn = callDbAndAuthenticateUser(userName,password)
}
定义一个bean的作用域会话,并更新它的会话
在另一个bean中或直接从jsf页面检查getter isLoggedIn以知道用户是否已登录。
编辑
你使用EJB \ RMI当你访问database.Those问题是不一定相同\相关,
可以凭据传递到您远程调用的方法,或您可以在本地服务器上处理授权,并让您的本地身份验证机制调用远程方法。
查看JEE API Java认证和授权服务更多信息和示例http://docs.oracle.com/javase/1.5.0/docs/guide/security/jaas/JAASRefGuide.html#Sample – 2012-02-06 03:19:14