JSF 2.0从视图范围bean中访问会话范围的bean

时间:2013-08-01 18:55:42

标签: jsf session managed-bean

我的应用程序使用siteminder身份验证。 siteminder会将用户详细信息(如用户名,用户ID等)附加到http请求标头并重定向到我的应用程序。我需要将这些用户详细信息存储在bean的标头中,并在我的业务逻辑中访问它。有几个问题。

  1. 建议UserDetailsBean使用哪种范围?会话或请求?

  2. 我可以在哪里拦截请求并从标头中提取用户信息?我可以在过滤器内进行吗?或者我可以在UserDetailsBean(会话bean)构造函数中执行此操作吗?

  3. 我可以做点什么吗

    public UserBean() {
        FacesContext context = FacesContext.getCurrentInstance();
    
        Map<String, String> requestHeaderMap = context.getExternalContext().getRequestHeaderMap();
    
        String userId = requestHeaderMap.get("sm_userID");
    
            public String getUserId() {
        return userId;
    }
    public void setUserId(String userId) {
        logger.info("[Bean - User is] "+userId);
        this.userId = userId;
    }
            }
    

    并在整个应用程序中访问UserBean.getUserId?

0 个答案:

没有答案