【问题标题】:How user session is managed in JSF and WASJSF 和 WAS 中如何管理用户会话
【发布时间】:2012-12-11 03:14:27
【问题描述】:

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

据我了解,JSF 将当前视图信息存储在会话中。关于如何在 JSF 和 WAS 中管理会话,我有一些疑问。

  1. 如果状态保存设置为serverside,JSF 是否在会话中为匿名用户和登录用户存储视图状态?
  2. JSF 如何知道用户是否是登录用户?我们要不要 有 告诉 JSF?
  3. 是否有可能有一个Trusted Authentication Inceptor (TAI) 告诉 WAS 当前用户是有效用户?

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

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

您能帮忙吗?

【问题讨论】:

    标签: jsf websphere websphere-8


    【解决方案1】:

    如果状态保存设置为服务器端,JSF 是否会在会话中为匿名用户和登录用户存储视图状态?

    当然。会话不绑定到登录用户。相反,它通常是相反的:登录用户存储在会话中。


    JSF 如何知道用户是否是登录用户?我们必须告诉 JSF 这件事吗?

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


    是否有可能有一个可信的身份验证接收器 (TAI),它告诉 WAS 当前用户是一个有效用户?

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

    【讨论】:

    • 感谢 BalusC。让我总结一下。不管用户是否登录,servlet 容器总是创建一个会话。我们可以将用户信息存储在上面创建的容器中。
    • 或者取决于容器,就像“容器管理的身份验证”正在做的那样。
    猜你喜欢
    • 2011-08-01
    • 2011-06-12
    • 1970-01-01
    • 2013-07-22
    • 2018-11-16
    • 1970-01-01
    • 2020-09-20
    • 2012-05-21
    • 2011-06-19
    相关资源
    最近更新 更多