gpt4 book ai didi

Grails Spring 安全 : redirect after login success/failure

转载 作者:行者123 更新时间:2023-12-03 07:47:57 25 4
gpt4 key购买 nike

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

成功

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

失败

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

我查看了 Events插件手册的部分,似乎涵盖了这一点。但是,似乎没有任何方法可以在这些事件处理程序中重定向用户。

最佳答案

您基本上描述了它当前的工作原理,除了重新显示登录详细信息之外,这很简单。

当您单击安全链接且未登录时,SavedRequest 会存储在 session 中,以跟踪您尝试访问的位置。成功登录后,将检查该对象并根据它构建重定向。如果您直接进入登录页面,则不会保存任何信息,因此它会重定向到默认位置。默认情况下,它是应用程序的根目录 ('/'),但它是可配置的,例如

grails.plugins.springsecurity.successHandler.defaultTargetUrl = '/home'

要重新显示之前输入的登录名,请使用 auth.gsp 中的 SPRING_SECURITY_LAST_USERNAME session key :

<input type='text' class='text_' name='j_username' id='username'
value="${session['SPRING_SECURITY_LAST_USERNAME']}" />

关于Grails Spring 安全 : redirect after login success/failure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6968210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com