开发者社区> 问答> 正文

spring mvc中,shiro权限设置

现在要给下边这个方法设置shiro权限。
要求是:User角色中的每个用户只能查看自己的信息。
例如:用户user1的id为1,用户user2的id为2,让user1只能访问“account/1”,而不能访问“account/2”等其他用户的信息。

使用shiro注解能否实现,难道只能通过写代码来实现了吗。

@RequestMapping(value = "account/{id}", method = RequestMethod.GET)
public String getAccount(@PathVariable("id") Long id, Model model) {
    //省略。。
    return "account/userView";
}

展开
收起
a123456678 2016-03-17 16:30:42 2362 0
1 条回答
写回答
取消 提交回答
  • 通过对上下文分析,猜想LZ应该是JAVA初学者,针对上诉场景主要有两种解决方案:
    其一、RBAC(基于角色),从SESSION中获取用户登陆角色,然后判断是否为管理员,然后可能需要带入ID进入查询。
    其二、RBAC(基于资源),从授权信息中获取用户是否具有查询所有数据的权限,然后可能需要带入ID进入查询。

    早期应用中经常使用方法一中的方法将用户分为若干类型,现在比较推荐使用方法二,即不管角色,只管授权。

    总而言之,过程就是,通过对登陆认证信息的判断获取用户类型,如果只能查自己的就带入ID否则就查询全部。

    希望以上答案能给你一定帮助。

    2019-07-17 19:05:38
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
workshop专场-微服务专场-开发者动手实践营-微服务-Spring Cloud Alibaba 微服务全家桶体验 立即下载
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载

相关实验场景

更多