2013-05-29 103 views
2

我已經使用s2-quickstart和Spring Security CAS插件安裝了Spring Security。我有CAS插件正確設置(我相信),但當我嘗試訪問localhost:8080/caslogin/j_spring_security_check頁面強制CAS登錄時,我被重定向到默認的Spring Security日誌頁面而不是CAS登錄頁面我們公司已經成立。有誰知道可能會導致這種行爲?這是我目前的CAS設置Config.groovy中:Grails Spring Security和CAS問題

grails.plugins.springsecurity.cas.loginUri = '/login' 
grails.plugins.springsecurity.cas.serverUrlPrefix = 'https://cas-server/cas' 
grails.plugins.springsecurity.cas.key = 'grails-spring-security-cas' 
grails.plugins.springsecurity.cas.filterProcessUrl = '/j_spring_security_check' 
grails.plugins.springsecurity.cas.serverName = 'http://localhost:8080' 
grails.plugins.springsecurity.cas.serviceUrl = 'http://localhost:8080/caslogin/j_spring_security_check' 
grails.plugins.springsecurity.cas.proxyCallbackUrl = 'http://localhost:8080/caslogin/secure/receptor' 
grails.plugins.springsecurity.cas.proxyReceptorUrl = '/secure/receptor' 
grails.plugins.springsecurity.cas.active = true 

grails.plugins.springsecurity.providerNames = ['casAuthenticationProvider'] 

// Added by the Spring Security Core plugin: 
grails.plugins.springsecurity.userLookup.userDomainClassName = 'com.mycompany.caslogin.User' 
grails.plugins.springsecurity.userLookup.authorityJoinClassName = 'com.mycompany.caslogin.UserRole' 
grails.plugins.springsecurity.authority.className = 'com.mycompany.caslogin.Role' 

回答

1

我們已經成功地使用CAS在Grails應用程序,請查看我的Config.groovy如下:

在我而言,當我嘗試去到localhost :8080/MyApp/j_spring_cas_security_check我得到一個拒絕訪問404個。

grails.serverURL = "http://192.168.10.12:8080/MyApp" 

plugins { 

    springsecurity { 

     active = true 
     rejectIfNoRule = false 

     password.algorithm = 'SHA-256' 
     securityConfigType = grails.plugins.springsecurity.SecurityConfigType.Requestmap //url permission 
     apf.filterProcessesUrl = '/j_spring_security_check' 

     auth { 
      forceHttps = false 
      loginFormUrl = '/access/login' 
      ajaxLoginFormUrl = '/access/login?remote=true' 
     } 
     adh { 
      errorPage = '/access/denied' 
      ajaxErrorPage = '/acesso/denied?remote=true' 
     } 
     ajaxHeader = 'X-Requested-With' 
     failureHandler { 
      ajaxAuthFailUrl = '/access/fail?remote=true' 
      defaultFailureUrl = '/access/fail?login_error=1' //TODO 
     } 
     successHandler { 
      defaultTargetUrl = '/' 
      alwaysUseDefault = false 
     } 

     // Configuracao do CAS 
     providerNames = ['casAuthenticationProvider'] 

     cas { 
      serverUrlPrefix = 'https://mycompany.com.br:8443/cas' 
      loginUri = '/login' 
      proxyReceptorUrl = '/secure/receptor' 
      serviceUrl = "${grails.serverURL}/j_spring_cas_security_check" 
      proxyCallbackUrl = "${grails.serverURL}/secure/receptor" 
     } 

     logout.afterLogoutUrl = 'https://mycompany.com.br:8443/cas/logout?service=${grails.serverURL}/' 

     // Customizacao de Entidades 
     userLookup.userDomainClassName = 'br.com.mycompany.app.access.User' 
     userLookup.authoritiesPropertyName = 'permissions' 
     authority.className = 'br.com.mycompany.app.access.Permission' 
     requestMap.className = 'br.com.mycompany.app.access.UrlAccess' 
     requestMap.configAttributeField = 'ruleExpression' 
    } 

} 
相關問題