关于Rest风格的API的如何做权限控制
想要实现的效果是
比如如下两个接口
GET /order/{orderId}
POST /order/{orderId}/abc/{abcId}
想通过不同的角色或用户来分别限制他们能访问接口的某一个,即拥有权限的一个
现在的问题就是,通过什么样的方式能够将URL和上面的接口路径分别匹配上呢?
使用的是SpringMVC。
注:上面写的接口URL只是简单的,还有复杂的里面参数可以是正则表达式,或者两个参数通过特定字符串拼接的(如{param1}-{param2},所以匹配路径不能用正则来做,这块不太了解SpringMVC的底层是如何实现的,求大神解答。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
怎么感觉你的问题内容和标题不是一个意思。你到底是想问权限控制还是路径识别匹配?
你必須要用實作 WebSecurityConfigurerAdapter
以我所知Spring security基礎的登入是User跟Role.
每一個URL都可以通過實作 WebSecurityConfigurerAdapter的 configure(WebSecurity web)控制的。
比如以下的例子帳戶在內存,登入后各資源根制可以用上hasRole()限制:
參考: 官方文檔
楼主可以去学习一下shiro框架, 具体可以看这里, 非常不错的教程, 入门也简单, 这个框架可以解决你的问题.http://jinnianshilongnian.ite...
配合spring mvc使用起来就像是这样
可以自己写一个方法
url/role_action/role_action_param/param
role_action_param作为权限对象保存,识别就全靠它,然后分配到各种路径
http base 认证!!!!
可以考虑使用sureness, 原生支持路径匹配
https://su.usthe.com - https://github.com/tomsun28/s...
sureness 提供一个针对restful api,无框架依赖,可以动态修改权限,多认证策略,更快速度,易用的认证鉴权框架