是的,我只是为另一个应用程序这样做。您必须告诉 spring security 在访问 REST URL 时采取不同的行为。
将此添加到您的config.groovy
现在您将拥有应用程序的两个部分,它们通过以下方式进行身份验证
a) URL 中带有 /api 的任何内容(假设您就是这样设置 REST),获取基本身份验证
b) 其他一切,通过登录页面。
// making the application more secured by intercepting all URLs
grails.plugins.springsecurity.useBasicAuth = true
grails.plugins.springsecurity.basic.realmName = " REST API realm"
grails.plugins.springsecurity.securityConfigType = SecurityConfigType.InterceptUrlMap
//Exclude normal controllers from basic auth filter. Just the JSON API is included
grails.plugins.springsecurity.filterChain.chainMap = [
'/api/**': 'JOINED_FILTERS,-exceptionTranslationFilter',
'/**': 'JOINED_FILTERS,-basicAuthenticationFilter,-basicExceptionTranslationFilter'
]