【发布时间】:2019-02-07 04:23:18
【问题描述】:
我有像三行这样的分区表
-
divsionId 名称
1 divA 2 divB 3 divC
和客户喜欢
custId 名称 DivisionId
1 cust01 1
2 cust02 1
3 cust03 2
4 cust04 1
5 cust05 2
6 cust06 3
7 cust07 3
8 cust08 1
和用户表一样
userId unname password roleId divisionId
1 john *** 1 1
2 ravi *** 2 1
3 bush *** 2 2
4 sam *** 2 3
5 jasd *** 1 2
6 jas *** 2 2
7 jioa *** 2 3
8 saho *** 2 1
9 vija *** 1 1
角色 ID 名称
1 ADMIN
2 USER
当用户尝试使用三个参数登录时 { “除法”:“divA”, “uname”:“约翰”, “密码”: ”****” }
如果用户成功登录,我将生成 JWT Token,包括部门、角色等
@GetMapping("/listcustomers")
public List<Customers> getCustomers(){
return customerService.findAll();
}
在这种情况下,当用户尝试从客户表中访问 /listcustomers api 时,他应该获取与登录用户的部门 ID 匹配的客户列表,并且仅客户分配部门的 divisonId,他不应该能够访问来自任何地方的其他部门客户,这就是我寻找前哨的方式,不,我得到了解决方案,请任何人帮助我,还有许多带有部门分配对象的 api,并且 ROLE 工作正常,但部门明智我没有得到,
我正在使用 spring boot 2.0.0.Relaease、Java 8、Hibernate、JWT Authentication spring security
【问题讨论】: