文章分类 -  Shiro

摘要:这一章能解决的问题:(目录) 需求1:spring整合shiro 需求2:集成shiro的认证操作需求3: 3.1.登录成功后,在页头显示“欢迎XXX” 3.2.把该用户的菜单显示出来需求4:把自定义Realm中的用户信息改成动态的,并使用md5散列需求5:授权 从数据库授权需求6:使用注解的方式和 阅读全文
posted @ 2017-07-23 20:56 半生戎马,共话桑麻、 阅读(195) 评论(0) 推荐(0)
摘要:“3+2”模型:用户表、用户-角色表、角色表、角色-权限表、权限(包含资源)表 各个表的结构: user: user_role: role: role_permission: permission: 数据: user: user_role: role: role_permission: permis 阅读全文
posted @ 2017-07-23 16:53 半生戎马,共话桑麻、 阅读(203) 评论(0) 推荐(0)
摘要:简介: 和认证的原理一样,授权也需要从数据库中获取权限数据,所以需要自定义授权的Realm,改写Realm的认证和授权方法。 一、创建自定义的Realm,CustomRealm.java【认证的代码和之前的认证一样】 二、把自定义Realm注入到SecurityManager中,shiro-real 阅读全文
posted @ 2017-07-23 16:10 半生戎马,共话桑麻、 阅读(199) 评论(0) 推荐(0)
摘要:授权:操作系统资源的权限(who对what进行how操作) Shiro 支持三种方式的授权: 1、编程式:通过写if/else 授权代码块完成: Subject subject = SecurityUtils.getSubject(); if(subject.hasRole(“admin”)) { 阅读全文
posted @ 2017-07-23 15:13 半生戎马,共话桑麻、 阅读(139) 评论(0) 推荐(0)
摘要:简介: 散列算法一般用于生成一段文本的摘要信息,散列算法不可逆,将内容可以生成摘要,无法将摘要转成原始内容。散列算法常用于对密码进行散列,常用的散列算法有MD5、SHA。一般散列算法需要提供一个salt(盐)与原始内容生成摘要信息,这样做的目的是为了安全性,比如:111111的md5值是:96e79 阅读全文
posted @ 2017-07-23 14:43 半生戎马,共话桑麻、 阅读(196) 评论(0) 推荐(0)
摘要:自定义Realm的原因: Shiro自带的IniRealm从ini配置文件中读取用户的信息,但在实际开发中需要从系统的数据库中读取用户信息,所以需要自定义realm, 其目的是:改写Shiro的认证方法(默认的Shiro认证方法是从ini文件中获取用户信息的),由程序员编写代码从数据库中获取用户的信 阅读全文
posted @ 2017-07-23 12:43 半生戎马,共话桑麻、 阅读(430) 评论(0) 推荐(0)
摘要:一、创建Java Project jar包: 二、创建ini文件,shiro-first.ini 三、创建测试类 AuthenticationTest.java 工程结构: 四、运行结果 (1)输入正确的用户名和密码,返回true; (2)输入错误的用户名,不管密码对不对,都报异常:org.apac 阅读全文
posted @ 2017-07-23 11:55 半生戎马,共话桑麻、 阅读(306) 评论(0) 推荐(0)
摘要:转自: \http://cache.baiducontent.com/c?m=9d78d513d98203ef03b1c1690c66c0101e43f4132ba7a3020ea08449e325011a073bf4ba57356177c4b57b7070ad5e289ce47132690c7af 阅读全文
posted @ 2017-06-12 17:00 半生戎马,共话桑麻、 阅读(97) 评论(0) 推荐(0)
摘要:转自:http://www.sojson.com/shiro Shiro Demo 准备工作 运行前申明 请看完本页面的所有细节,对你掌握这个项目来说很重要,别一上来就搞,你不爽,我也不爽。 本项目需要一定的Java功底,需要对SpringMvc,Mybatis,有基本的了解,其次对Redis有了解 阅读全文
posted @ 2017-06-12 14:48 半生戎马,共话桑麻、 阅读(442) 评论(0) 推荐(0)
摘要:工程结构: 一、创建maven工程【创建过程请参考:http://www.cnblogs.com/josephcnblog/articles/6816564.html】 修改pom.xml 二、新建包com.java1234.shiro.controller、com.java1234.shiro.s 阅读全文
posted @ 2017-05-07 22:32 半生戎马,共话桑麻、 阅读(107) 评论(0) 推荐(0)
摘要:一、Base64加密/解密 & MD5加密 CryptographyUtil.java 二、修改LoginServlet.java【在用户验证过程中,使用的是经过MD5加密后的密码,数据库中存储的也是MD5加密后的密码】 三、测试通过 阅读全文
posted @ 2017-05-07 21:05 半生戎马,共话桑麻、 阅读(89) 评论(0) 推荐(0)
摘要:工程结构 一、建立数据库,数据库名shiro 用户表users、角色表roles、权限表permissions 一个用户有多个角色,一个角色有多种权限 插入测试数据: 二、在pom.xml中添加mysql数据库驱动包 三、添加IO包 四、在src/main/resources下创建db.proper 阅读全文
posted @ 2017-05-07 17:09 半生戎马,共话桑麻、 阅读(154) 评论(0) 推荐(0)
摘要:在第五章基础上添加功能,工程结构: 一、路径匹配 ? 匹配单个字符,正确路径/admin, 那么/admin?=authc可以匹配admin + 单个字符,admin12就不能匹配 * 能匹配任意字符,admin,admin1, admin12, 都可以匹配,多层路径不能匹配,比如admin12/1 阅读全文
posted @ 2017-05-07 14:26 半生戎马,共话桑麻、 阅读(219) 评论(0) 推荐(0)
摘要:这一章主要内容: 1. shiro集成web中开发 2. 通过shiro.ini配置静态用户/角色/权限信息【暂时没有到db中取数】 3. 进行用户/角色/权限的认证 工程结构: 用户登录认证: 一、创建web类型的maven工程【创建的工程不是web的,要修改工程结构, 请参照这里修改:http: 阅读全文
posted @ 2017-05-06 14:09 半生戎马,共话桑麻、 阅读(147) 评论(0) 推荐(0)
摘要:最后的工程结构: 复制第三章的工程Shiro02, 改名Shiro03 (1)基于角色的权限认证 一、加入Junit测试类, 修改pom.xml 二、封装第三章的测试代码,封装成一个工具类,方便日后使用 ShiroUtil.java 三、创建基于角色的.ini配置文件(这里只做静态数据验证, 没有到 阅读全文
posted @ 2017-05-06 12:34 半生戎马,共话桑麻、 阅读(155) 评论(0) 推荐(0)
摘要:在上一章中,使用shiro.ini进行静态的数据验证模拟,这一章将到数据库中验证 工程结构: 一、拷贝Shiro01工程, 改名为Shiro02 二、在src/main/resources下创建jdbc_realm.ini, 作如下配置,[main]固定写法 三、导入c3p0和commons-log 阅读全文
posted @ 2017-05-06 00:29 半生戎马,共话桑麻、 阅读(239) 评论(0) 推荐(0)
摘要:工程结构: 一、新建Maven工程,工程名如下: 二、导入jar包 修改pom.xml: 三、为了模拟操作数据库,这里新建一个.ini文件,用于做静态数据的数据库取数模拟操作,实际开发中应该从数据库中取数 在src/main/resources下创建shiro.ini:[users]是shiro语法 阅读全文
posted @ 2017-05-05 23:37 半生戎马,共话桑麻、 阅读(92) 评论(0) 推荐(0)
摘要:Shiro功能: 一、登录认证【配置文件*.ini做静态数据的shiro测试,实际开发要到数据库认证】 1.用户名/密码登录验证 二、权限认证【配置文件*.ini做静态数据的shiro测试,实际开发要到数据库认证】 角色和权限的关系:角色是权限的集合、权限是角色的元素 1.判断某个用户是否拥有某个/ 阅读全文
posted @ 2017-05-05 22:31 半生戎马,共话桑麻、 阅读(109) 评论(0) 推荐(0)

levels of contents