【代码学习】角色添加权限的方法,先删除,再添加。而不是用修改,这样很方便。

@Override
public void addRoleResources(Resources[] resources, Long roleId) {
Map<String, Object> params = new HashMap<>();
params.put("roleId", roleId);
this.dao.delete("role.deleteRoleResources", params);
if (resources != null && resources.length > 0) {
params.put("resources", resources);
dao.save("role.bathSaveRoleResources", params);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个简单的示例代码,展示了如何在Vue中根据角色赋予不同的权限: ``` <template> <div> <button v-if="isAdmin" @click="deleteUser">删除用户</button> <button v-if="isManager" @click="addUser">添加用户</button> <button v-if="isUser" @click="editUser">修改用户</button> </div> </template> <script> export default { data() { return { isAdmin: false, isManager: false, isUser: false } }, methods: { deleteUser() { // 管理员才能执行该操作 }, addUser() { // 经理才能执行该操作 }, editUser() { // 普通用户才能执行该操作 } }, mounted() { // 发送请求获取当前用户的角色信息 axios.get('/api/user/role') .then(response => { const role = response.data.role if (role === 'admin') { this.isAdmin = true } else if (role === 'manager') { this.isManager = true } else if (role === 'user') { this.isUser = true } }) } } </script> ``` 在上面的代码中,我们通过发送请求获取后端返回的当前用户的角色信息,然后根据不同的角色,决定是否显示对应的页面或功能。 下面是一个简单的Java后端代码示例,展示了如何根据角色返回对应的数据: ```java @RequestMapping("/api/user") @RestController public class UserController { @Autowired private UserService userService; @GetMapping("/list") public List<User> getUserList(HttpServletRequest request) { // 获取当前用户的角色信息 String role = request.getHeader("Authorization"); // 根据角色返回对应的数据 if ("admin".equals(role)) { return userService.getAllUsers(); } else if ("manager".equals(role)) { return userService.getManagerUsers(); } else if ("user".equals(role)) { return userService.getUserInfo(); } else { // 没有权限,返回空列表 return new ArrayList<>(); } } } ``` 在上面的代码中,我们通过获取请求头中的Authorization信息来获取当前用户的角色,然后根据不同的角色,返回对应的数据。需要注意的是,这里我们只是返回了不同的数据,而没有对其进行访问控制,真正的访问控制需要在DAO层或Service层中进行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值