首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Grails Spring安全性:登录成功/失败后重定向

Grails Spring安全性:登录成功/失败后重定向
EN

Stack Overflow用户
提问于 2011-08-06 16:39:44
回答 2查看 19K关注 0票数 16

我在Grails应用程序中使用Security插件的1.2版本。我希望以下列方式处理登录尝试:

成功

  • 如果登录是由于试图访问受保护的页面而触发的,请将它们发送到该页。
  • 如果用户“直接”登录,则将其重定向回主页

失败

  • 将它们发送到“重试”登录页面,并在该页面上填充他们输入的无效登录详细信息(密码字段除外)。此“重试”登录页与他们第一次登录时使用的页面不同。

我已经看过插件手册的事件部分,它似乎涵盖了这一领域。然而,在这些事件处理程序中似乎没有任何方法来重定向用户。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-06 18:17:52

您基本上是在描述它当前的工作方式,除了重新显示登录细节之外,这是很简单的。

当您单击受保护的链接而未登录时,将在会话中存储一个SavedRequest,以跟踪您试图前往的位置。成功登录后,将检查此对象,并从该对象构建重定向。如果您直接转到登录页面,就没有保存的信息,所以它会重定向到默认位置。默认情况下,它是应用程序('/')的根,但它是可配置的。

代码语言:javascript
运行
复制
grails.plugins.springsecurity.successHandler.defaultTargetUrl = '/home'

若要重新显示先前输入的登录名,请在SPRING_SECURITY_LAST_USERNAME中使用auth.gsp会话键。

代码语言:javascript
运行
复制
<input type='text' class='text_' name='j_username' id='username'
       value="${session['SPRING_SECURITY_LAST_USERNAME']}" />
票数 21
EN

Stack Overflow用户

发布于 2014-05-26 08:27:33

对我有用的是在Config.groovy中放置下面一行

代码语言:javascript
运行
复制
grails.plugin.springsecurity.successHandler.defaultTargetUrl = 'controllerName/actionName'

改变的是grails。plugin而不是(注意在“plugin”之后没有s)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6968210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档