【问题标题】:Grails Spring Security Core PluginGrails Spring Security 核心插件
【发布时间】:2012-05-24 15:34:55
【问题描述】:

我(终于)将我的 Acegi 插件升级到 Spring Security Core。同时,我正在从 Grails 1.3.7 升级到 2.0。我的网站以前功能齐全,但现在当我尝试访问我的默认页面(即IS_AUTHENTICATED_ANONYMOUSLY)时,我被重定向到我的LoginControllerauth 操作。这个方法从来没有被 Acegi 调用过,所以我不知道问题是什么。是我的配置设置错误还是我需要考虑其他问题?

grails.plugins.springsecurity.securityConfigType = SecurityConfigType.InterceptUrlMap

    grails.plugins.springsecurity.interceptUrlMap  = [
                '/blog/**':['IS_AUTHENTICATED_ANONYMOUSLY'],
                '/static/**':['IS_AUTHENTICATED_ANONYMOUSLY'],
                '/consensus/**':['IS_AUTHENTICATED_FULLY'],
                '/login/**':['IS_AUTHENTICATED_ANONYMOUSLY'],
                '/signup/**':['IS_AUTHENTICATED_ANONYMOUSLY'],
                '/home/**':['IS_AUTHENTICATED_FULLY'],
                '/test/**':['ROLE_ADMIN'],
                '/admin/**':['ROLE_ADMIN'],
                '/adminmanage/**':['ROLE_ADMIN'],
                '/quartz/**':['ROLE_ADMIN'],
                '/**/*.css':['IS_AUTHENTICATED_ANONYMOUSLY'],
                '/js/**':['IS_AUTHENTICATED_ANONYMOUSLY'],
                '/images/**':['IS_AUTHENTICATED_ANONYMOUSLY'],
                '/monitoring**':['ROLE_ADMIN'],
                '/**':['IS_AUTHENTICATED_FULLY']
            ]

我的 UrlMappings.groovy 是:

class UrlMappings {
    static mappings = {
        "/"(controller:"x", action:"y")
        "/z/?"(controller:"x", action:"y")
        "/$controller/$action?/$id?"
                {
                    constraints {
                        // apply constraints here
                    }
                }
        "500"(view: '/error')
    }
}

我一直在阅读文档,但遇到了一些问题,所以我不确定是否需要查看更多相关代码。如果有,请告诉我,我会添加它。谢谢。

【问题讨论】:

  • 我很确定 '/**':['IS_AUTHENTICATED_FULLY'] 是导致它的原因,我非常记得在场规则如何适用于配置映射的处理方式(我使用控制器注释)。尝试删除该行以查看您是否可以访问您的主页。如果可以的话,你需要弄清楚如何不让它发生冲突。祝你好运!
  • @Oliv 谢谢 - 删除最后一个帮助我调试。

标签: grails plugins spring-security


【解决方案1】:

删除 openid 插件后,所有请求都将我重定向到登录页面!我不知道该怎么办...我已经删除了所有相关内容。

【讨论】:

    【解决方案2】:

    我的Config.groovy 中的其他选项不正确,这导致了问题。一旦我纠正了它们,一切都很好。

    尽管在文档中提到了它,但我的安全字段没有以grails.plugins.springsecurity 开头,这导致引擎无法识别它们,由于某种原因导致调用auth

    【讨论】:

    • 您能否编辑详细说明问题所在?如果文档中有不清楚的地方或者可能有用的东西放在那里,很高兴知道。 (或者,如果其他人遇到这个问题并最终通过谷歌来到这里,却发现你解决了这个问题而没有别的;))
    • @Oliver - 这个问题对我来说似乎真的很具体,否则我会这样做。不过我还是会做的——谢谢你的帮助。
    猜你喜欢
    • 2016-05-24
    • 2016-08-30
    • 2011-11-23
    • 2013-06-21
    • 2015-04-09
    • 2015-07-01
    • 2012-10-31
    • 2011-08-15
    • 2016-03-23
    相关资源
    最近更新 更多