python前后端分离前端权限_前后端分离中后端提供的RESTFUL接口如何进行权限控制?...

今天遇到一个问题

我有一个系统,是基于角色的权限控制.

前端自然就是根据角色来控制应该显示的视图.

但是为了防止别人直接用httpclient访问,那么后台肯定也要对相应的权限进行控制.

进行交互时,我能知道的只有用户是谁

从而我可以知道的他的角色.

那么我想知道在代码层级的控制是怎么控制的.

如何控制某个角色只能访问一类url?

我的想法是

1.后台需要维护整个系统的url(即提供的接口)

2.维护系统所需要使用的视图(菜单,按钮等,因为接口的使用与视图基本绑定)

3.视图和角色绑定,用户和角色绑定

这样做就很麻烦

1.维护整个系统的url工作量超大

2.维护视图对应的接口URL工作量也超大

3.基于资源的RESTFUL接口有很多在url上的参数,正则会比较复杂,情况较多

后来,我看到了SHIRO中可以这样进行权限控制

在接口中,如springmvc接口

@RequireRoles("admin")

@RequestMapping("/{id}")

public void get(){

xxx

}

如何我可以这样,直接接口所需要的角色使用Annotation在接口层处拦截,工作量就大大减少.但是目前看到的方案这种的role都只能hardcode.不能从数据库动态获取.

所以问题有3个.

1)大家这种情况是怎么处理的

2)我的工作量十分大的方案是否合理?是否有改善的方法

3)shiro有可能在接口层处直接进行角色权限的控制并且所需要的角色从数据库中获取吗?

各位大侠,感激不尽!

------以下补充-----------

前后端通过token验证这是肯定的,我想问的其实是token验证通过之后

那我手上的数据有

1.当前访问的URL

2.当前用户,当前用户的角色

我是觉得针对角色去维护URL实在是比较麻烦.来想问问有没有更好的解决方案

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值