在Grails应用中使用Spring Security Rest插件调用登录时出现401未经授权的错误

sufyan.shoaib

我有一个grails应用程序,其中mongodb作为带有Spring Security Rest插件的数据源。我使用angularjs,尝试通过$ http.post调用登录用户,但在浏览器控制台上收到401未经授权的错误。

这是我针对Spring Security Rest插件的主要配置:

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服务登录的电话:

$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) 

有什么建议?

sufyan.shoaib

解决了....

启用调试模式后..我开始知道弹簧安全性已成为残疾人..因此,在查看了我的人员类别后,我发现我缺少以下属性:

boolean enabled = true
boolean accountExpired
boolean accountLocked
boolean passwordExpired

因此,添加它们后,问题就解决了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用curl测试时,Grails Spring Security Rest未经授权(401)

Spring Security中的401未经授权的错误

Spring Security-401未经授权的访问

如何在Grails中使用Spring Security Rest插件进行身份验证

Spring Security REST-单元测试因HttpStatusCode 401未经授权而失败

401在authenticationManager.authenticate()上未经授权(Spring Security)

Spring Security 401在不安全的端点上未经授权

Grails + Spring Security:无法登录

Grails Spring Security REST + LDAP

Spring Security抛出未经授权而不是重定向到登录

尝试在Google Apps脚本中使用PHP cURL发布功能时出现401未经授权的错误

使用Grails Spring Security CAS插件进行重定向循环

Spring Security REST登录

我尝试使用PHP代码调用发布请求,但出现401未经授权错误。

使用Authenticationn / Access令牌访问TeamCity时出现错误401未经授权

使用python查询youtube api的播放列表时出现“ HTTP错误401:未经授权”

使用C#上传文件时出现远程服务器错误(401)未经授权

远程服务器返回错误:(401)未经授权。在使用Paypal Rest APi时

Grails Spring Security插件和dbconsole

Grails 3 Spring Security覆盖登录表单

Grails Spring Security Core无法登录

Grails Spring Security插件-登录表单重定向到ajaxAuth

使用Spring Security Core插件在Grails中登录后如何重定向到页面

在Spring Boot应用程序中配置Spring Security时,如何在没有@Configuration的类中使用@Bean?

404在Grails的Spring Security Rest插件中注销

添加Spring Security插件3.1.1后将无法加载Grails 3.2.4应用程序

Grails 3:Spring Security Rest 返回登录页面

Spring Boot Security不会引发401未经授权的异常,但找不到404

尽管提供了正确的凭据,Spring Security仍会返回401未经授权的代码