代码之家  ›  专栏  ›  技术社区  ›  sven

如何处理JSF中的动态角色或用户名更改?

  •  3
  • sven  · 技术社区  · 14 年前

    我有一个运行在Glassfish2.1上的JSF应用程序,其后端是EJB3。对于身份验证,我使用自定义领域。用户使用注册时指定的电子邮件地址和密码进行身份验证。一切都很顺利。

    现在我有两个相关的问题:

    1)用户可以编辑自己的配置文件,当然也可以更改自己的电子邮件地址。不幸的是,当我使用externalContext.getUserPrincipal().getName()基于当前用户的标识执行操作时,我将收到用户登录时使用的前一个电子邮件地址。目前,我通过强制用户在更改电子邮件地址后重新进行身份验证来处理这一问题,但是还有其他更优雅的可能性吗?

    2)用户角色相同。例如,我有用户角色成员和高级成员。会员可在当前会议期间成为高级会员。不幸的是,角色似乎只在登录时确定。JSF和EJB是否有可能在不需要用户重新验证的情况下识别新的用户角色?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Shervin Asgari    14 年前

    考虑使用 Seam 使用JSF。在那里,您可以更改登录用户的凭据,而无需重新登录。