我有三行的分区表,比如
分区 ID 名称
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 密码 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
当用户尝试使用三个参数登录时,例如 { "division" : "divA", "uname" : "john", "password": "****" }
如果用户成功登录,我将生成 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