我是Grails nooblet,我正在尝试使用spring security插件。我有一些示例代码,我正在努力工作,但问题是我无法真正弄清楚如何使用身份验证,我卡在用户/密码登录。我附上项目的相关代码,请帮助我:P
CONF / BootStrap.groovy中:
grails.plugin.springsecurity.SpringSecurityUtils.clientRegisterFilter('j2eePreAuthFilter',
grails.plugin.springsecurity.SecurityFilterPosition.PRE_AUTH_FILTER.getOrder() - 1)
CONF / BuildConfig:
compile ":spring-security-core:2.0-RC2"
CONF /弹簧/ resources.groovy
// BEGING: Spring security
simpleMappableAttributesRetriever(
org.springframework.security.core.authority.mapping.SimpleMappableAttributesRetriever){
mappableAttributes=['ROLE_SUPER_ADMIN','ROLE_OPS','ROLE_USER'] as Set
}
userRoles2GrantedAuthoritiesMapper(
org.springframework.security.core.authority.mapping.SimpleAttributes2GrantedAuthoritiesMapper){
convertAttributeToUpperCase=true
}
authenticationDetailsSource(
org.springframework.security.web.authentication.preauth.j2ee.J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource) {
mappableRolesRetriever=ref('simpleMappableAttributesRetriever')
userRoles2GrantedAuthoritiesMapper=ref('userRoles2GrantedAuthoritiesMapper')
}
j2eePreAuthFilter(org.springframework.security.web.authentication.preauth.j2ee.J2eePreAuthenticatedProcessingFilter) {
authenticationManager=ref('authenticationManager')
authenticationDetailsSource=ref('authenticationDetailsSource')
}
preAuthenticatedUserDetailsService(
org.springframework.security.web.authentication.preauth.PreAuthenticatedGrantedAuthoritiesUserDetailsService)
preAuthenticatedAuthenticationProvider(
org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider){
preAuthenticatedUserDetailsService=ref('preAuthenticatedUserDetailsService')
}
// END: Spring security
CONF / Config.groovy中
/** Spring security config **/
grails.plugin.springsecurity.roleHierarchy = '''
ROLE_SUPER_ADMIN > ROLE_OPS
ROLE_OPS > ROLE_USER
'''
grails.plugin.springsecurity.providerNames = [
'preAuthenticatedAuthenticationProvider',
'anonymousAuthenticationProvider',
'rememberMeAuthenticationProvider']
grails.plugin.springsecurity.rejectIfNoRule = false
grails.plugin.springsecurity.fii.rejectPublicInvocations = false