Java web应用程序充当Restfull应用程序的方法

Java web应用程序充当Restfull应用程序的方法,java,angularjs,rest,spring-mvc,spring-security,Java,Angularjs,Rest,Spring Mvc,Spring Security,我们正在尝试开发一个web应用程序,其中控制器(servlet)应充当restfully服务,最初浏览器将充当客户端,然后将来可能会有第三方应用程序使用来自相同控制器的服务 所有控制器将返回JSON数据,angular JS将使用该数据并在浏览器中显示web应用程序的内容,对于第三方应用程序,它们将直接调用rest服务 我的问题如下 如果我正在开发Restful服务,那么我应该不使用HTTP会话吗 i、 我的控制器应该是完全无状态的吗 如果我的应用程序应该是无状态的,那么我将如何克服 缺少HT

我们正在尝试开发一个web应用程序,其中控制器(servlet)应充当restfully服务,最初浏览器将充当客户端,然后将来可能会有第三方应用程序使用来自相同控制器的服务

所有控制器将返回JSON数据,angular JS将使用该数据并在浏览器中显示web应用程序的内容,对于第三方应用程序,它们将直接调用rest服务

我的问题如下

  • 如果我正在开发Restful服务,那么我应该不使用HTTP会话吗 i、 我的控制器应该是完全无状态的吗

  • 如果我的应用程序应该是无状态的,那么我将如何克服 缺少HTTP会话对象(如何携带特定于用户的 不同屏幕中可能需要的数据)

  • 如何为第三方处理身份验证 应用程序,用户应在每个请求中提供凭据吗

  • 是的,您需要一种基于令牌的身份验证,换句话说,您必须为每个请求设置头。我是你的朋友。例如:

    i.   Login (Basic Authentication)
    ii.  Get Token from Server and store it e.g. in Cookies 
    iii. Set header with each request (token: whatever)
    iv.  If token is valid, server answers with data or enables further interaction
    
    2) 特定于用户的数据将存储在$scope(角度术语)中,ist就像模型的数据和操作容器。如果愿意,您可以在本地持久化它。或者将其发送到服务器(使用有效令牌将其存储在那里)


    3) 登录、获取令牌、通信。必须在服务器上正确设置用户权限和公司。

    对于web应用程序,我也必须使用基本身份验证,我想使用登录页面。但无论是登录页面还是基本身份验证,这都不重要。这都是关于在cookie或Restfull webservice的请求头中设置基本身份验证应该如何做,或者他们应该在头和中设置用户名/密码然后每次发送请求(包括第一次)步骤1:登录。如果您的登录正确,您将从REST服务器获得一个带有令牌的答案。您必须将其存储在本地。然后,您将发送包含此令牌的标头。只要您的令牌有效且未注销,服务器将允许您获取Resources。即使客户端是我自己的html页面,即web应用程序,而不是任何其他第三方应用程序,我是否也不应该使用Restfull web服务的表单登录页