【问题标题】:Grails acegi plugin remember me not workingGrails acegi 插件记得我不工作
【发布时间】:2011-05-28 17:52:36
【问题描述】:

我在 grails acegi 插件(版本 0.5.3)的记住我功能上遇到问题

第一次登录时,我选中记住我复选框并登录。这行得通。然后我关闭浏览器并重新启动它并浏览到应用程序。登录页面显示填充了用户名、密码为空并选中了记住我复选框。我本来希望直接导航到应用程序(http://localhost:8080/application 通常重定向到我的登录页面)。如果我尝试手动登录(输入密码)它现在不起作用,我无法通过登录页面。

这是我的登录表单:

<form action='${postUrl}' method='POST' id='loginForm' class='cssform'>
            <p>
                <label for='j_username'>Email</label>
                <input type='text' class='text_' name='j_username' id='j_username' value='${request.remoteUser}' />
            </p>
            <p>
                <label for='j_password'>Password</label>
                <input type='password' class='text_' name='j_password' id='j_password' />
            </p>
            <p>
                <label for='remember_me'>Remember me</label>
                <input type='checkbox' class='chk' name='_spring_security_remember_me' id='remember_me'
                <g:if test='${hasCookie}'>checked='checked'</g:if> />
            </p>
            <p>
                <input type='submit' value='Login' />
            </p>
        </form>

SecurityConfig.groovy

    /** rememberMeServices */
cookieName = 'grails_remember_me'
alwaysRemember = false
tokenValiditySeconds = 1209600 //14 days
parameter = '_spring_security_remember_me'
rememberMeKey = 'grailsRocks'

这只是默认生成的行为。我错过了一些简单的东西吗?我是否需要手动设置 rememberMeServices 之类的?

我已确认“grails_remember_me”cookie 是使用 chrome 开发者工具创建的。我在使用 firefox 时也有同样的行为。

有什么想法吗?谢谢

【问题讨论】:

  • 由于这似乎不是完整的 SecurityConfig.groovy,我只想检查一下:您是否在安全配置中的某处重新定义了属性 providerNames,从而可能无意中遗漏了 rememberMeAuthenticationProvider?这可能会导致你得到的行为。否则,您的配置看起来与我们的相似,并且记住我功能有效。
  • 我没有重新定义“providerNames”。但是,如果我查看已安装插件的“DefaultSecurityConfig”,我看不到“providerNames”的任何提及。是否应该在插件或应用程序的配置中定义“providerNames”?
  • 不,如果您不指定 providerNames,将使用默认值,您应该没问题。我只是在猜测,也许你在那里定义了一些你自己的东西,这可能会导致你的问题。看来一定是别的什么东西。

标签: authentication grails spring-security


【解决方案1】:

从未真正深入了解这一点。我“修复”它的方式是升级到新的 spring 安全插件。

http://grails.org/plugin/spring-security-core

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    • 2023-03-31
    • 2018-08-20
    相关资源
    最近更新 更多