【问题标题】:authorization in JSF2JSF2 中的授权
【发布时间】:2010-06-02 10:06:48
【问题描述】:

在 JSF2 中实现授权的最佳方式是什么? 通过、servlet 过滤器、阶段侦听器或其他我不知道的新东西?

【问题讨论】:

标签: authorization jsf-2


【解决方案1】:

这有两个部分:身份验证和授权。

首次身份验证:您可以配置 web.xml 以根据 url 模式执行基于 JAAS 的身份验证。或者,如果基于 url 的身份验证对您来说太粗粒度,您可以使用 PhaseListener 或使用 HttpServletRequest login() 方法(Servlet 3.0 中的新方法)手动执行此操作。您可以通过FacesContext.getCurrentInstance().getExternalContext()访问此方法。

一旦您通过 JASS 领域的身份验证,您就可以考虑基于角色的授权。同样有多种选择:

  1. 您可以根据 url-pattern 将页面访问限制为 web.xml 中的指定角色
  2. 您可以使用 FacesContext.getCurrentInstance().getExternalContext().isUserInRole("role") 以编程方式访问支持 bean 中的当前角色。
  3. 您可以根据用户角色使用表达式语言有条件地在视图中呈现组件。 (Seam 有 s:hasRole EL 表达式,IceFaces 有 renderOnUserRole 属性,或者你可以从你自己的后台 bean 中公开角色。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-03
    • 2018-11-21
    • 2012-05-31
    • 2011-08-05
    • 2016-05-06
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多