我的应用程序使用站点管理员身份验证。站点管理员会将用户详细信息(例如用户名、用户 ID 等)附加到 http 请求标头并重定向到我的应用程序。我需要将这些来自标头的用户详细信息存储在 bean 中,并在我的业务逻辑中访问它。有几个问题。
为 UserDetailsBean 推荐什么样的范围?会话或请求?
我在哪里可以拦截请求并从标头中提取用户信息?我可以在过滤器内做吗?或者我可以在我的 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 ?