java - 基于表单的登录同时应用 REST 原则

标签 java spring rest restful-authentication

我是一名 Spring/JavaEE 网络程序员,我开始研究 future 网络应用程序的 REST 原则,但我不知道如何进行可用的登录。对于 Web API 来说这是有意义的,但是面向最终用户的 Web 应用程序呢?我查看了 HTTP Basic/Digest Authentication,但这只会产生一个丑陋的对话框。有人有什么想法吗?

最佳答案

这实际上取决于您如何处理基于表单的登录。

按照 J2EE 规范中的定义,登录页面仅在用户尝试访问 protected 资源时显示给(尚未通过身份验证的)用户;它本身不能(或不应该)访问。在这种情况下,登录页面不必受 REST 原则约束,因为它本身不是“资源”。换句话说,工作流程是:

  1. 用户尝试获取 REST url,“/products/0332425”
  2. 她/他被重定向到“/login”,发布他的凭据,然后被重定向回(作为 GET)原始页面(“/products/0332425”)
  3. 随后尝试访问“/login”会导致错误(403?)或重定向到“root”。

如果这对您不起作用并且您需要在多个页面上提供您的登录表单,请将其视为页面的一部分并像对待任何其他 POST 一样提交。

关于java - 基于表单的登录同时应用 REST 原则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1473997/

相关文章:

json - 列 "IMAGE BINARY(255)"的值太长

security - 如何保护 REST API 调用的安全?

.net - REST、HTTP 动词和 .NET 和 silverlight 中的当前开发

java - 如何返回 TreeMap 中包含的值的 TreeSet?

java - 如何使用Java作为Arduino的编程语言?

java - <tx :annotation-driven/> leads to java. lang.ClassNotFoundException : org. aopalliance.aop.Advice

wordpress - 隐藏 WordPress Rest API 端点定义

java - 如何将数组列表的成员与字符串进行比较?

java - 网络发现工具 - java

java - Spring - 使用属性占位符加载位于 war 文件或类路径之外但位于文件系统中的属性文件