Spring 基于restapi的多层web应用认证方案

Spring 基于restapi的多层web应用认证方案,spring,rest,spring-security,restful-authentication,Spring,Rest,Spring Security,Restful Authentication,我正在构建一个web应用程序,其中两个主要组件是网站和后端RESTful web服务。该网站将调用RESTfulWeb服务来完成这项繁重的工作。我计划对这两层都使用Spring安全性。我设想该网站将使用表单身份验证,RESTfulAPI将使用基本身份验证(通过SSL)。但是,我不确定如何向RESTAPI提供身份验证凭据,因为在初次登录后网站可能会有一个会话cookie。任何人都可以提供一些关于将在这个多层应用程序中工作的身份验证方案的指针吗?谢谢 编辑:我应该提到RESTAPI也将被移动应用程序

我正在构建一个web应用程序,其中两个主要组件是网站和后端RESTful web服务。该网站将调用RESTfulWeb服务来完成这项繁重的工作。我计划对这两层都使用Spring安全性。我设想该网站将使用表单身份验证,RESTfulAPI将使用基本身份验证(通过SSL)。但是,我不确定如何向RESTAPI提供身份验证凭据,因为在初次登录后网站可能会有一个会话cookie。任何人都可以提供一些关于将在这个多层应用程序中工作的身份验证方案的指针吗?谢谢


编辑:我应该提到RESTAPI也将被移动应用程序使用

一种方法是在网站和REST服务上使用。该网站将强制记住我(您可以设置过期时间和/或使其成为会话cookie)。然后将网站的cookie复制到REST服务请求。移动到REST将使用已经存在的相同cookie(假设它们位于相同的cookie域中)

谢谢你的提示。澄清一下,这是一般流程吗?据我所知,有两种情况。1:移动客户端直接使用REST服务进行身份验证(例如,使用基本身份验证),服务器返回“记住我”cookie,该cookie可用于后续REST请求。2:web层将提示用户进行身份验证,并以相同的方式生成“记住我”cookie。web层生成的cookie可以从web层直接传递到REST接口。web客户端代码(例如,可能是javascript)是否会直接联系REST服务,或者它是否始终使用普通web服务器作为中介?这仍然是待定的,尽管我怀疑它将始终使用web服务器作为中介。