0

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

  1. 为 UserDetailsBean 推荐什么样的范围?会话或请求?

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

我可以做类似的事情吗

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 ?

4

0 回答 0