我有由Spring Security保护的2.5.4 grails版本应用程序,并且运行良好。我需要更改它,仅在其余服务的回复允许的情况下才授予用户访问权限。也就是说,我不想使用 Spring 安全性功能来询问用户名/密码,而是要调用rest服务(已经拥有),并且如果该服务答复用户有权访问应用程序,我想授予访问权限给这个用户。
据我了解,我需要重写spring安全内核的LoginController的auth方法。我还需要grails过滤器吗?
您能为我提供有关此主题的一些建议吗?

最佳答案

这对我适用于运行Grails 3.1.9的BootStrap.groovy。不确定是否会帮助您,但这可能是一个起点。

import org.springframework.security.authentication.UsernamePasswordAuthenticationToken
import org.springframework.security.core.context.SecurityContextHolder as SCH
...
SCH.context.authentication = new UsernamePasswordAuthenticationToken(admin.username, admin.password, admin.authorities)

关于grails - 自定义身份验证覆盖Spring Security,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38080084/

10-16 17:44