gpt4 book ai didi

spring - 如何为每个 url 配置 grails/spring 身份验证方案?

转载 作者:行者123 更新时间:2023-12-04 11:43:26 24 4
gpt4 key购买 nike

如何使用 Spring 安全性配置 grails 应用程序,以便一组 url 将未经身份验证的用户重定向到 http 响应代码为 200 的自定义登录表单,而另一组 url 正在实现 restful web 服务并且必须返回 401/not未经身份验证的客户端的授权响应,以便客户端应用程序可以使用用户名和密码重新发送请求以响应 401。

我当前的配置可以使用自定义登录表单处理第一种情况。但是,我需要为 restful 界面 url 配置其他类型的身份验证,同时保留人机界面的当前行为。

谢谢!

最佳答案

如果我理解正确你想要做什么,我之前遇到了同样的问题!但使用 Spring Security grails Plugin 很容易解决!因此,首先,您必须将应用程序设置为使用基本身份验证:

grails.plugins.springsecurity.useBasicAuth = true
所以你的restful服务会尝试登录,如果它不起作用它会进入401!
这很简单,但您还需要使用自定义表单登录对吧?!因此,您只需配置一些 URL 即可进入您的正常登录策略,如下所示:
grails.plugins.springsecurity.filterChain.chainMap = [
'/api/**': 'JOINED_FILTERS,-exceptionTranslationFilter',
'/**': 'JOINED_FILTERS,-basicAuthenticationFilter,-basicExceptionTranslationFilter'
]
所以请注意,以上 URL/api/的所有内容都将使用基本身份验证,但/api/以外的任何内容都使用正常的身份验证登录表单!
编辑
更多信息请访问 http://burtbeckwith.github.com/grails-spring-security-core/docs/manual/guide/16%20Filters.html

关于spring - 如何为每个 url 配置 grails/spring 身份验证方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7065089/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com