JSF2中的授权

时间:2010-06-02 10:06:48

标签: authorization jsf-2

在JSF2中实施授权的最佳方法是什么? 通过,servlet过滤器,阶段监听器或者其他是我不知道的新事物吗?

1 个答案:

答案 0 :(得分:2)

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

首次身份验证:您可以配置web.xml以根据网址格式执行基于JAAS的身份验证。或者,如果基于URL的身份验证过于粗糙,您可以使用HttpServletRequest login()方法(Servlet 3.0中的新增功能)使用PhaseListener或页面操作手动执行此操作。您可以通过FacesContext.getCurrentInstance().getExternalContext()

访问此方法

在对JASS领域进行身份验证后,您可以考虑基于角色的授权。同样有很多选择:

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