Shiro笔记(五)Shiro授权】的更多相关文章

1.首先是导入标签库 <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> 1.1  hasrole 标签 <shiro:hasRole name="admin"> 用户[<shiro:principal/>]拥有角色admin<br/> </shiro:hasRole> 1.2 hasPermission标签 &l…
介绍:是一个java的安全(权限)框架 可以完成的功能:认证登录(Authentication).授权(Authorization).加密(cryptography).会话管理(session management).集成web(web support).缓存(caching).记住密码(remember me). 类似功能的框架:Spring security . shiro的执行流程(从外部来看):应用程序->subject->Shiro SecurityManager->Realm…
Shiro笔记(五)JSP标签 导入标签库 <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> guest标签 用户没有身份验证时显示相应的信息 <shiro:guest> 欢迎游客访问,<a href="${pageContext.request.contextPath}/login.jsp">登录</a> </shi…
Shiro笔记(三)授权 一.授权方式 1.编程式: Subject subject=SecurityUtils.getSubject(); if(subject.hasRole("root")){ //有权限 } else { //无权限 } 2.注解式: @RequiresRoles("admin") public void hello(){ //有权限才执行 } 3.JSP标签: <shiro:hasRole name="root"&…
授权过滤器测试 我们的授权过滤器使用的是permissionsAuthorizationFilter来进行拦截.我们可以在application-shiro中配置filter规则 <!--商品查询需要商品查询权限 --> /items/queryItems.action = perms[item:query] /items/editItems.action = perms[item:edit] 测试流程: 1.在applicationContext-shiro.xml中配置filter规则 &…
Shiro 登陆.授权.拦截 按钮权限控制 一.目标 Maven+Spring+shiro 自定义登陆.授权 自定义拦截器 加载数据库资源构建拦截链 使用总结: 1.需要设计的数据库:用户.角色.权限.资源 2.可以通过,角色,权限,两个拦截器同时确定是否能访问 3.角色与权限的关系,role1=permission1,permission2,多级的权限:sys:permission1,拥有高级权限同时用于低级权限. 4.perms["permission1"] 为权限 5.拦截器机制…
Shiro笔记(一)基本概念 一.简介 Shiro是一个Java安全框架,可以帮助我们完成:认证.授权.加密.会话管理.与Web集成.缓存等. Authentication:身份认证/登录,验证用户是不是拥有相应的身份: Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限:即判断用户是否能做事情,常见的如:验证某个用户是否拥有某个角色.或者细粒度的验证某个用户对某个资源是否具有某个权限: Session Manager:会话管理,即用户登录后就是一次会话,在没有退…
一. 授权,也叫访问控制,即在应用中控制谁能访问哪些资源(如访问页面/编辑数据/页面操作等).在授权中需了解的几个关键对象:主体(Subject).资源(Resource).权限(Permission).角色(Role). 1. 主体 主体,即访问应用的用户,在Shiro中使用Subject代表该用户.用户只有授权后才允许访问相应的资源. 资源 在应用中用户可以访问的任何东西,比如访问JSP页面.查看/编辑某些数据.访问某个业务方法.打印文本等等都是资源.用户只要授权后才能访问. 权限 安全策略…
Shiro笔记(四)编码/加密 一.编码和解码 //base64编码.解码 @Test public void testBase64(){ String str="tang"; byte[] encode = Base64.encode(str.getBytes()); System.out.println("Encode result:"+encode); System.out.println("The decode result:"+Base…
Shiro笔记(二)身份验证 一.核心代码 @Test public void helloWorldTest(){ IniSecurityManagerFactory factory = new IniSecurityManagerFactory("classpath:shiro-jdbc-realm.ini"); SecurityManager manager = factory.getInstance(); //全局设置,一次即可 SecurityUtils.setSecurity…