spring - Spring Data REST 中的身份验证和授权

标签 spring spring-mvc spring-security authorization spring-data-rest

我正在实现 Spring Data REST基于应用程序,我想知道是否有一种优雅的方式来使用这个框架或相关框架来实现身份验证和授权规则。

对 REST 服务器的所有 HTTP 请求都必须带有身份验证 header ,我需要检查它们并根据 HTTP 方法以及经过身份验证的用户与所请求资源的关联来决定是否授权。例如(应用程序是电子学习系统的 REST 服务器),教师只能访问自己的类(class)部分,学生只能访问他们订阅的类(class)部分等。

我想知道在 Spring Data REST 中是否有实现授权的默认方式。如果答案是否定的,您能对我的问题提出建议吗?我正在考虑:

  • Servlet 过滤器
  • Spring 安全性
  • Spring Data REST 处理程序(如何访问 HTTP header ?)

最佳答案

对您来说最好的选择是 Spring Security。 这将帮助您以更简单的方式获得授权。

Spring Security 将要求您实现查看请求 header 并以编程方式执行登录操作。

在此处引用接受的答案。我也遵循相同的方法并在我的休息服务(使用 RestEasy 构建)前面实现了安全层

RESTful Authentication via Spring

还有另一种方法.. 引用 http://www.baeldung.com/spring-security-authentication-provider

在这两种情况下,您都可以通过在 Spring Security 中声明无状态身份验证来禁用 session 创建,这将帮助您在对无状态 REST 服务进行大量点击时显着提高性能。..

关于spring - Spring Data REST 中的身份验证和授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18989156/

相关文章:

java - Spring Security中的自定义表达式

forms - 如何在 JMeter 中发布受限访问表单

java - 在 Weblogic 12c 上部署 Spring Security SAML 扩展时出现问题

gwt - 通过 Spring Security 登录保持 GWT 历史哈希

java - Spring Boot 将 web 应用程序打包为 .jar

java - 如何将输入类型 ="date"读取到 java 对象日期?

java - 如何正确转换存储库 @Query 的结果?

java - AngularJS - userService,registerControll : broken code in registerController, 未注册用户并返回错误警报

java - 将 spring 服务列表转换为另一个实体作为响应

java - Spring文件以混合形式上传