我的应用程序使用siteminder身份验证。 siteminder会将用户详细信息(如用户名,用户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?