在我的Grails 3.2.9网络应用中,我正在使用Spring Security插件来管理用户 session 。这是依赖:
compile "org.grails.plugins:spring-security-core:3.1.1"
应用程序的自然发展(历时数年)使所有 Controller 中的所有 Action 基本上都可以返回JSON,其中大部分 Action 都使用
@Secured
批注进行保护,例如return map as JSON // grails.converters.JSON
这意味着所有 Action 基本上都像API。
但是由于它们是安全的,因此当用户未登录时,将执行到
/login/auth
(登录页面)的重定向,这是您所不希望的。这就是为什么我在寻找一种返回401 unauthorized
状态的方法,而不是让Spring Security执行重定向的原因。到目前为止,我已经研究了pessimistic lockdown,并且在网络上搜索也将我带到Spring Security Core REST plugin,但是这两种方式似乎都不适合我的情况(最后对我来说,但也许我缺少了一些东西)。
因此,欢迎提出任何建议,在此先感谢!
最佳答案
在resources.groovy
中注册以下内容authenticationEntryPoint(Http401AuthenticationEntryPoint, 'Bearer')
关于authentication - Grails 3和Spring Security:用户未登录时返回401,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44312193/