【发布时间】:2014-12-26 16:44:45
【问题描述】:
使用 spring-security-core (2.0-RC4) 我遇到了静态安全映射问题。
'/app/client/**': ['IS_AUTHENTICATED_FULLY'],
'/app/items/**': ['permitAll'],
还有这个配置(甚至切换真/假值)
grails.plugin.springsecurity.rejectIfNoRule = true
grails.plugin.springsecurity.fii.rejectPublicInvocations = false
当我尝试访问时
/app/items/Books
我得到 403/500(取决于配置参数)。我可以访问的唯一方法是当两个配置属性都为假时,所以我以我打算避免的乐观方法结束。
这种模式有什么不好的地方吗? comeone 能否介绍一下引擎盖中可能发生的事情?
谢谢,
更新:
grails.plugin.springsecurity.rest.login.active = true
grails.plugin.springsecurity.rest.token.storage.useGorm = true
grails.plugin.springsecurity.rest.token.storage.gorm.tokenDomainClassName = 'com.moviesxd.api.domain.AuthenticationToken'
grails.plugin.springsecurity.rest.token.storage.gorm.tokenValuePropertyName = 'tokenValue'
grails.plugin.springsecurity.rest.token.storage.gorm.usernamePropertyName = 'username'
grails.plugin.springsecurity.securityConfigType = "Annotation"
grails.plugin.springsecurity.rest.token.validation.enableAnonymousAccess = true
//Workaround for weird responses when using a bearer token
grails.plugin.springsecurity.rest.token.validation.useBearerToken = false
grails.plugin.springsecurity.rest.login.active = true
grails.plugin.springsecurity.rest.login.endpointUrl = '/security/login'
grails.plugin.springsecurity.rest.logout.endpointUrl = '/security/logout'
grails.plugin.springsecurity.rest.login.failureStatusCode = 401
grails.plugin.springsecurity.rest.login.useJsonCredentials = true
grails.plugin.springsecurity.rest.login.usernamePropertyName = 'username'
grails.plugin.springsecurity.rest.login.passwordPropertyName = 'password'
grails.plugin.springsecurity.rest.token.validation.headerName = 'X-Auth-Token'
更新:
'/': ['permitAll'],
'/index': ['permitAll'],
'/index.gsp': ['permitAll'],
'/assets/**': ['permitAll'],
'/**/js/**': ['permitAll'],
'/**/css/**': ['permitAll'],
'/**/images/**': ['permitAll'],
'/**/favicon.ico': ['permitAll'],
【问题讨论】:
-
该模式似乎没有经过数学运算,因为它的行为类似于触发“ifNoRule”约束......但不明白为什么。
-
该模式不应包含您的应用程序的名称。例如。
/clients/**和/items/** -
app 不是我的应用程序的名称...只是我想组织我的 API 调用的东西
-
好的,只是一个常见的错误。此外,最好在问题中包含所有安全配置。
-
有没有一种很好的方法来调试它以了解为什么这与我期望的不匹配?