
<p><span style="font-size: 18px;"><strong>操作步骤</strong></span></p><p>0>将项目导入到idea中<br/></p><p><img src="http://www.demodashi.com/ueditor/jsp/upload/image//0.png" title="0.png" alt="image.png"/></p><p>1>新建mysql数据库rbac,将 rbac.sql 脚本数据导入</p><p>2>修改:application.properties 中数据库配置账号密码</p><p>3>运行App.java类,启动程序</p><p>4>访问http://localhost:8080 默认账号密码为:admin/1,测试用户: zhangsan/1</p><p><br/></p><p><span style="font-size: 18px;">核心概念(来自百度百科)</span></p><p>RBAC:基于角色的访问控制,是面向企业安全策略的一种有效的访问控制方式,其基本思想是,对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合,每一种角色对应一组相应的权限,一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限。这样做的好处是,不必在每次创建用户时都进行分配权限的操作,只有分配用户响应的角色即可,而且角色的权限变更必用户的权限变更要少得多,这样将简化用户的权限管理,减少系统的开销。</p><p><br/></p><p>简单说:用户扮演某个角色,被允许执行某些操作。 比如:用户充值成为SVIP,可以下载苍老师高清**教育影片。</p><p><br/></p><p>员工:代指某个用户,系统是以企业内部项目为例子,操作主体就是员工,这里理解为用户</p><p>角色:权限的集合,一个角色包含多种操作权限,一个员工可扮演多种角色,是多对多关心。</p><p>权限:允许对资源的操作抽象,rbac中权限就是对资源的crud操作。比如:员工添加, 部门删除等。</p><p><br/></p><p><span style="font-size: 18px;">表设计</span></p><p><img src="http://www.demodashi.com/ueditor/jsp/upload/image//.png" title=".png" alt="image.png"/></p><p><br/></p><p><span style="font-size: 18px;">实现原理</span></p><p>在javaweb中权限的控制,其实就是对请求映射方法控制,如果登录用户有这个权限,允许访问,如果没有权限,不允许访问。居于这个原理,rbac实现步骤如下:</p><p>1>自定义一个权限注解:@RequiredPermission,约定贴有这个注解映射方法,必须进行权限校验</p><p>2>在需要进行权限校验的请求映射方法中贴上这个这个注解</p><p>3>使用拦截器对所有请求进行拦截,每次访问是进行权限校验。</p><p>4>如果使用admin登录,不需要拦截</p><p><br/></p><p><span style="font-size: 18px;">项目结构</span></p><p><img src="http://www.demodashi.com/ueditor/jsp/upload/image//.png" title=".png" alt="image.png"/><img src="http://www.demodashi.com/ueditor/jsp/upload/image//.png" title=".png" alt="image.png"/></p><p><br/></p><p><span style="font-size: 18px;">核心代码</span></p><p>自定义注解</p><p>需要进行权限校验请求映射方法<br/></p><p>权限拦截器<br/></p><p><span style="font-size: 18px;">操作效果</span></p><p>登录</p><p><img src="http://www.demodashi.com/ueditor/jsp/upload/image//.png" title=".png" alt="image.png"/></p><p>员工,权限,角色列表</p><p><img src="http://www.demodashi.com/ueditor/jsp/upload/image//.png" title=".png" alt="image.png"/></p><p><img src="http://www.demodashi.com/ueditor/jsp/upload/image//.png" title=".png" alt="image.png"/><img src="http://www.demodashi.com/ueditor/jsp/upload/image//.png" title=".png" alt="image.png"/></p><p>角色,员工编辑页面</p><p><img src="http://www.demodashi.com/ueditor/jsp/upload/image//.png" title=".png" alt="image.png"/></p><p><br/></p><p><img src="http://www.demodashi.com/ueditor/jsp/upload/image//.png" title=".png" alt="image.png"/></p><p>没有权限的操作</p><p><img src="http://www.demodashi.com/ueditor/jsp/upload/image//.png" title=".png" alt="image.png"/>好了,到这就结束啦,祝好!</p><p><br/></p><p><br/></p><p><br/></p>
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/202503.html