1

我有一個與mongodb作爲數據源與彈簧安全休息插件的Grails應用程序。使用angularjs,我試圖用$ http.post調用登錄一個用戶,但在瀏覽器控制檯上獲得401未經授權的錯誤。401未經授權的錯誤,而呼叫登錄與Grails應用程序中的彈簧安全休息插件

下面是春季安全其餘插件我的聖盃配置:

$http.post('auth/api/login', { username: $scope.authData.username, password:  $scope.authData.password }, getAuthenticateHttpConfig). 
      success(function (data) { 

       $rootScope.isAuthenticated = true; 
       $rootScope.currentUser = data.username; 
       setLocalToken(data.token); 
       authService.loginConfirmed({}, function (config) { 
        if (!config.headers["X-Auth-Token"]) { 
         console.log('X-Auth-Token not on original request; adding it'); 
         config.headers["X-Auth-Token"] = getLocalToken(); 
        } 
        return config; 
       }); 
      }). 
      error(function (data) { 
       console.log('login error: ' + data); 
       $rootScope.$broadcast('event:auth-loginFailed', data); 
      }); 

錯誤:

POST http://localhost:8080/projmgmt_server/auth/api/login 401 (Unauthorized) 

任何

grails.plugin.springsecurity.userLookup.userDomainClassName = 'projmgmt.Person' 
grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'projmgmt.security.PersonRole' 
grails.plugin.springsecurity.authority.className = 'projmgmt.security.Role' 
grails.plugin.springsecurity.securityConfigType = 'InterceptUrlMap' 
grails.plugin.springsecurity.interceptUrlMap = [ 
    '/':     ['permitAll'], 
    '/assets/**':   ['permitAll'], 
    '/partials/**':   ['permitAll'], 
    '/api/**':    ['permitAll'], 
    '/auth/api/**':   ['permitAll'], 
    '/person/**':   ['permitAll'], 
    '/**':     ['isFullyAuthenticated()'] 
] 

grails.plugin.springsecurity.rememberMe.persistent = false 
grails.plugin.springsecurity.rest.login.useJsonCredentials = true 
grails.plugin.springsecurity.rest.login.endpointUrl = '/auth/api/login' 
grails.plugin.springsecurity.rest.logout.endpointUrl = '/auth/api/logout' 
grails.plugin.springsecurity.rest.token.storage.useGorm = true 
grails.plugin.springsecurity.rest.token.storage.gorm.tokenDomainClassName = 'projmgmt.security.AuthenticationToken' 
grails.plugin.springsecurity.rest.token.storage.gorm.tokenValuePropertyName = 'token' 
grails.plugin.springsecurity.rest.token.storage.gorm.usernamePropertyName = 'username' 

grails.plugin.springsecurity.filterChain.chainMap = [ 
    '/auth/api/**': 'JOINED_FILTERS,-exceptionTranslationFilter,-authenticationProcessingFilter,-securityContextPersistenceFilter', // Stateless chain 
    '/api/**': 'JOINED_FILTERS,-exceptionTranslationFilter,-authenticationProcessingFilter,-securityContextPersistenceFilter', // Stateless chain 
    '/**': 'JOINED_FILTERS,-restTokenValidationFilter,-restExceptionTranslationFilter'           // Traditional chain 
] 

而且我的電話通過angularjs $ http服務登錄建議?

+0

嘿,我得到類似的問題 – Vish

回答

1

解決....

啓用調試模式後..我才知道,春季安全是gettng殘疾人..因此,尋找到我一個人下課後,我發現我失去了這些屬性:

boolean enabled = true 
boolean accountExpired 
boolean accountLocked 
boolean passwordExpired 

因此,添加它們後,問題得到解決。

相關問題