Grails将默认主页更改为spring security core登录屏幕

时间:2012-10-19 00:18:52

标签: grails

我安装了Grails Spring Security Core插件。由于它现在正常工作,用户首先被带到列出控制器的默认index.gsp页面。一旦他们点击控制器,就会提示他们登录。

如何修改Grails以首先显示登录屏幕,并在成功时重定向到默认的index.gsp页面?

这是我的Config.groovy:

// Added by the Spring Security Core plugin:
grails.plugins.springsecurity.userLookup.userDomainClassName = 'com.example.app.security.SecUser'
grails.plugins.springsecurity.userLookup.authorityJoinClassName = 'com.example.app.security.SecUserSecRole'
grails.plugins.springsecurity.authority.className = 'com.example.app.security.SecRole'

grails.plugins.springsecurity.securityConfigType = SecurityConfigType.InterceptUrlMap
grails.plugins.springsecurity.interceptUrlMap = [
'/attendance/*':        ['IS_AUTHENTICATED_REMEMBERED'],
'/class/*':             ['IS_AUTHENTICATED_REMEMBERED'],
'/county/*':            ['IS_AUTHENTICATED_REMEMBERED'],
'/person/*':            ['IS_AUTHENTICATED_REMEMBERED'],
'/state/*':             ['IS_AUTHENTICATED_REMEMBERED'],
'/**':                  ['IS_AUTHENTICATED_ANONYMOUSLY']
]

UrlMappings.groovy:

static mappings = {
    "/$controller/$action?/$id?"{ constraints { // apply constraints here
        } }

    "/"(view:"/index")
    "500"(view:'/error')

    "/login/$action?"(controller: "login")
    "/logout/$action?"(controller: "logout")
}

1 个答案:

答案 0 :(得分:2)

添加

'/': ['IS_AUTHENTICATED_FULLY']

到你的interceptUrlMap。

然后,当访问者转到“/”时,spring security将拦截并重定向到登录页面,然后在登录后重定向到“/”。

相关问题