jsf - 如何在 JSF 和 WAS 中管理用户 session

标签 jsf websphere websphere-8

我正在开发一个 JSF v1.2 Web 应用程序,它将在 Websphere Application server 8.0 上运行。我们有一个外部安全管理器(SiteMinder)来提供身份验证和授权。

据我了解,JSF 将当前 View 信息存储在 session 中。我对 JSF 和 WAS 中如何管理 session 有一些疑问。

  1. 如果状态保存设置为服务器端,JSF 是否会在 session 中为匿名用户和登录用户存储 View 状态?
  2. JSF 如何知道用户是否已登录?我们要不要 有 告诉 JSF 这件事吗?
  3. 是否可以有一个可信身份验证接收器 (TAI) 告诉 WAS 当前用户是有效用户?

我在这里找到了类似的帖子Check if session exists JSF

我不确定 WAS 如何知道用户是否已登录。代码中,有userManager.isLoggedIn()。除非 WAS 知道用户有效,否则这是如何工作的?

您能提供帮助吗?

最佳答案

Does JSF store the view state in session for both anonymous and logged in user if the state saving is set as serverside?

当然。 session 不与登录用户绑定(bind)。相反,通常是相反的:登录的用户存储在 session 中。


How does JSF know that the user is a logged in user or not? Do we have to tell JSF about this?

它只是使用底层的 HttpSession 对象来实现此目的,servletcontainer 已经创建并准备了很长时间。另请参阅How do servlets work? Instantiation, sessions, shared variables and multithreading了解内部运作的深入背景说明。


Is it possible to have a Trusted Authentication Inceptor (TAI) which tell WAS that the current user is a valid user?

目前这不是您关心的问题。

关于jsf - 如何在 JSF 和 WAS 中管理用户 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14025737/

相关文章:

java - 如何在 Websphere Application Server v8.0 中查找发布路径

java - JAXB 编码失败 : "null" error when running an application on websphere. 相同的应用程序在 Tomcat 上运行良好

html - JSP 在 Websphere Application Server 8.5 上加载不完整

java - 集群配置中的共享内存java

java - 不支持的方法 : Statement. setCursorName,WAS 8.5.0,AIX,Oracle 11

java - 替换 websphere Liberty 配置文件中的 WSCallHelper.clearStatementCache(connection)

jsf - 值和绑定(bind)之间的区别

performance - JSF 性能调优

java.io.IOException : Cannot run program "sqlldr": CreateProcess error=2, 系统找不到指定的文件

java - 为什么屏幕上显示的是异常而不是错误页面?