【问题标题】:How to handle redirection with spring security and primefaces?如何使用 spring security 和 primefaces 处理重定向?
【发布时间】:2014-07-20 01:26:58
【问题描述】:

我想要一个链接/按钮,根据 用户角色 和某个字符串 value(由 a 返回的变量)将我重定向到另一个页面控制器方法)。

因此用户无法访问该页面除非他具有适当的角色和适当的价值。

我想知道如何使用 primefaces 和 spring security 处理这种重定向(我使用的是 primefaces 4 和 spring security 3.2.3。)

谢谢。

注意:这不是登录后重定向


编辑:

我已经实现了身份验证机制... 我的问题更进一步...在用户通过身份验证并重定向到欢迎视图后,我想让他访问某个其他查看取决于 1) 他的角色和 2) 一个字符串值(他单击一个按钮并将他重定向到适当的用户界面)...这就是我想用 primefaces 和 spring security 做的事情

【问题讨论】:

  • 您是否想过制作一个由两个步骤组成的验证过程,第一个步骤基于您的控制器上的字符串值,第二个步骤由 spring security 处理抛出 Role_USER
  • @oussama.elhadri 能否详细说明如何实施这两个步骤
  • 那些字符串值是静态的还是动态的?
  • @oussama.elhadri 它是动态的......实际上它是来自数据表行的值

标签: jsf primefaces spring-security


【解决方案1】:

这里的这篇文章解释了用户登录here后如何处理重定向

您需要创建自己的 AuthenticationSuccessHandler 并使用它进行注入。

<form-login login-page='/login.html'
            authentication-failure-url="/login.html?error=true"
            authentication-success-handler-ref="myAuthenticationSuccessHandler"/>

<logout/> 

...

public class MySimpleUrlAuthenticationSuccessHandler implements AuthenticationSuccessHandler{..}

【讨论】:

  • 感谢您的回复。但是我已经实现了身份验证机制......我的问题更进一步......在用户通过身份验证并重定向到欢迎视图后,我想让他访问某个其他视图,具体取决于 1)他的角色 2)一个字符串值..(即:他单击一个按钮并将他重定向到适当的用户界面)...这就是我想要使用 primefaces 和 spring security
  • 您仍然指定身份验证处理!这实际上不是我的问题...我在登录后已经完成了重定向。我的问题是:登录后,用户被重定向到一个页面,在那里他可以看到所有相关的“模块”。我希望他,当他点击一个模块(Primefaces 按钮)时,查看其详细信息,他被重定向到模块详细信息页面......但我想在重定向之前检查,如果他有权查看此页面 =如果他有那个特定模块的特定角色..
  • 如果此按钮单击与功能相关,您可以使用注释 @PreAuthorize("hasRole('ROLE_USER')") 来处理授权,或者我认为您应该创建一个自定义过滤器。
猜你喜欢
  • 2013-05-27
  • 2015-07-19
  • 2013-07-16
  • 1970-01-01
  • 2011-05-10
  • 1970-01-01
  • 1970-01-01
  • 2011-11-06
  • 2011-03-21
相关资源
最近更新 更多