当使用Grails和Spring Security作为后端时,使用Angular前端身份验证



我正在写一个Angular应用,它的后端是Grails和Spring Security。我不想将前端与后端耦合,所以我不使用任何gsp,通信仅通过REST请求进行。

现在的问题是使用哪种身份验证。

表单认证可能很有用,但spring security会重定向到默认的表单页面,而我的登录页面在Grails之外(在Angular项目中)。我不需要从spring安全的表单页面,我只需要一个URL,我可以做我的post请求凭据,并得到一个cookie返回。

所以我从Basic authentication开始,这很容易,但是我们必须为每个请求添加Authorization标头,这很烦人,也不安全。

Spring security允许remember me cookie,但它是耦合形成身份验证的,因此不可能(或很难)与基本身份验证一起使用。

无状态令牌身份验证(例如JWT)听起来很棒,但是不清楚如何用Grails配置它。Security插件的文档中没有提到无状态认证:http://grails-plugins.github.io/grails-spring-security-core/guide/index.html

那么在Spring security中从Angular进行身份验证的最佳方式是什么呢?

您正在使用spring安全性的默认行为。如果需要无状态身份验证,则必须重写默认行为。

最新更新