有些请求是谁都能访问但是只能访问属于自己那个的权限控制
来源:3-9 API安全机制之审计日志
笨猪大难临头
2020-02-14
请求级别权限控制可以在网关做,但是有些请求是谁都能访问但是只能访问属于自己那个,比如根据评论id删除用户的评论,所有用户都可以调用这个接口,但是这个请求只有评论id属于该用户时才能调用,这种级别权限控制是不是只能在具体方法调用时在去自行判断. 比如调用根据评论id删除的方法前 ,先根据评论id获取评论所属用户名,在跟当前登陆用户名比较,相同就允许删除.这样. 我感觉要搞执行两条sql不太好,有没更好的办法. 而且我还想就是如果当前角色是超级管理员,不管评论属不属于它都可以执行删除, 但是因为在具体方法上判断权限,万一有天角色权限变了我不是得在每个具体方法调用都改一遍
写回答
1回答
-
Bobby219
2020-02-15
第一个,当前登陆的用户信息,不一定只放用户名啊,用户的id也可以放进去,这时候你只比较用户的id就可以了,或者直接让前端把用户名一起传过来,这样可以直接比较用户名。
第二个问题,可以建立一个权限服务,当前用户是不是有权限执行这个请求,通过权限服务进行判断。
022020-02-16
相似问题