Grails Spring安全插件预身份验证

时间:2015-04-26 18:32:41

标签: grails spring-security

我是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

0 个答案:

没有答案