我正在实现一个基于Spring Data REST的应用程序,我想知道是否有一种优雅的方法来使用此框架或相关框架实现身份验证和授权规则。
对REST服务器的所有HTTP请求都必须带有身份验证标头,我需要检查它们并决定是否根据HTTP方法以及经过身份验证的用户与所请求资源的关联进行授权。例如,(应用程序是电子学习系统的REST服务器),教师只能访问自己的课程部分,学生只能访问他们订阅的课程部分等。
我想知道是否有一种在Spring Data REST中实现授权的默认方式。如果答案是否定的,你能否就我的问题提出建议?我在考虑:
答案 0 :(得分:13)
最好的选择是Spring Security。 这将有助于您获得授权更简单的方式。
Spring Security需要一个查看请求标头的实现,并以编程方式执行登录操作。
请参阅此处接受的答案..我已遵循相同的规定并在我的其余服务(使用RestEasy构建)前实施了安全层
RESTful Authentication via Spring
还有另一种方法.. 参考 http://www.baeldung.com/spring-security-authentication-provider
在这两种情况下,您都可以通过在spring security中声明无状态身份验证来禁用会话创建,这将有助于您在对无状态REST服务进行大量点击时显着提高性能。