- 博客(20)
- 资源 (2)
- 收藏
- 关注
原创 Shiro 学习总结、博客目录贴
Shiro 学习总结、博客目录贴 1、Shiro 学习笔记(1)-Helloworld 和 身份认证 http://blog.csdn.net/lw_power/article/details/50319121 http://blog.csdn.net/lw_power/article/details/52562734 介绍了使用 Shiro 登录的例子,介绍了安全数据源 Realm 。举例
2016-09-30 18:48:15 1812
原创 SSM + Shiro 整合 (7)- 认证和授权部分缓存的添加
我们在验证用户具有某些权限的时候,常常会调用自定义 Realm 的授权方法,这个授权方法里面常常要进行数据库查询的。在一个用户权限不会经常变更的情况下,如果不对授权的方法增加缓存,每次检查权限都去查询数据库是很浪费资源的。步骤1:添加 ehcache 依赖<!-- 添加 shiro-ehcache 接口依赖--><dependency> <groupId>org.apache.shiro<
2016-09-26 23:25:27 5158 1
原创 SSM + Shiro 整合 (6)- Shiro 集成 Spring
这一节将 Shiro 整合进 Spring。前面一节我们仅仅只是加入了 Shiro,并没有使用 Spring 来管理 Shiro。所以我们在自定义的 Realm 中并不能使用 Spring 的依赖注入特性。步骤 1:加入 Shiro 集成 Spring 的依赖<dependency> <groupId>org.apache.shiro</groupId> <artifactId>sh
2016-09-26 08:11:17 3865
原创 SSM + Shiro 整合 (5)- 自定义过滤器及权限解析器、介绍权限匹配流程
关于 Shiro 的权限匹配器和过滤器上一节,我们实现了自定义的 Realm,方式是继承 AuthorizingRealm 这个抽象类,分别实现认证的方法和授权的方法。这一节实现的代码的执行顺序 1、过滤器,在过滤器中执行 Subject 对象的判断是否具有某项权限的方法 isPermitted() 传入某一个跟当前登录对象相关的特征值(这里是登录对象正在访问的 url 连接) 2、程序到自定义
2016-09-25 23:05:19 15943 3
原创 SSM + Shiro 整合(4)- 在 Web 项目中添加 Shiro
本节的目标是整合 Shiro。 步骤1:添加依赖<dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>${shiro.version}</version></dependency><dependency> <groupId>org
2016-09-25 20:48:36 12540 1
原创 SSM + Shiro 整合 (3)- 添加 Spring MVC 成为 Web 项目
本节的目标是在项目中添加 Spring MVC 的支持。 步骤1 :添加 Maven 的 依赖和 web 目录,编写 web.xml 部署描述符。<!-- Spring 的 Web 依赖 --><dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <v
2016-09-25 20:35:36 2707
原创 Shiro 学习笔记(7)—— Shiro 集成 Web
Shiro 学习笔记(7)—— Shiro 集成 Web在 Web 环境下集成 Shiro 其实不难,按照官方文本的说明实现就可以了。更多地,我们会在 Spring 的 Web 环境中使用 Shiro ,这个我们后面再讲。参考 Shiro 官方文档中集成 Web 的这个章节:http://shiro.apache.org/webapp-tutorial.html。步骤1:在 web.xml 部署描述
2016-09-17 13:09:18 1804
原创 Shiro 学习笔记(6)—— 加密
Shiro 学习笔记(6)—— 加密Shiro 有一个非常强大的功能,就是对加密算法的封装。在我们之前的例子中,我们的密码在 Realm 里返回认证信息的时候,写的都是明文。这样的方式其实是很不安全的。一般地,密码这样的高度敏感的字段,我们应该是使用一种不可破解的算法加密以后存储到我们的数据库中。当用户登录的时候,在用户输入用户名正确(在库中存在)的前提下,将用户输入的密码使用同样的算法加密以后得到
2016-09-17 13:07:40 3028
原创 Shiro 学习笔记(5)—— 自定义权限解析器和角色解析器
Shiro 学习笔记(5)—— 自定义角色权限解析器步骤1:实现 Permission 接口public class MyPermission implements Permission { private String resourceId; private String operator; private String instanceId; // 这里为了说明问题,
2016-09-17 13:05:07 7748 1
原创 Shiro 学习笔记(4)—— 基于字符串的角色和权限
Shiro 学习笔记(4)—— 基于字符串的角色和权限在 Shiro 中默认对角色和权限的定义和解析都是通过字符串来完成的。对于字符串的说明,在 Shiro 的官方文档和张开涛老师的博客上都有详细的说明。我们现在来看一个例子。我们在 Shiro 的核心配置文件 shiro.ini 中写到:[users]liwei=123456,role1,role2zhougu(String),在 Shiro 中默
2016-09-17 13:02:57 6480
原创 Shiro 学习笔记(3)—— 自定义 Realm
Shiro 学习笔记(3)—— 自定义 Realm前面两节我们已经介绍过 IniRealm 和 JdbcRealm,这一节我们介绍自定义的 Realm 实现我们自己的安全数据源。方式一:implements Realm (这种方式不太常用,只是为了说明知识)这种方式实现的 Realm 仅只能实现认证操作,并不能实现授权操作。代码:public class MapRealm implements Re
2016-09-17 13:01:34 3089 1
原创 Shiro 学习笔记(2)—— JdbcRealm
Shiro 学习笔记(2)—— JdbcRealm有了 Shiro 的 HelloWorld 以后,我们就对 Shiro 有了一个基本的认识,下面我们直接上代码来说明如何使用 JdbcRealm。1、添加 Gradle 依赖testCompile group: 'junit', name: 'junit', version: '4.12'compile 'org.apache.shiro:shir
2016-09-17 12:59:40 3168
原创 Shiro 学习笔记(1)—— Hello World
Shiro 学习笔记(1)—— Hello WorldShiro 学习笔记1 Hello World什么是 Shiro两个重要的概念认证授权另外两个重要的概念角色权限测试代码的思路什么是 Shiro?百度百科上对 Shiro 的概括是非常准确的: Apache Shiro是一个强大且易用的 Java 安全框架,执行身份验证、授权、密码学和会话管理。在这里,我就直接拿来使用了。Shiro
2016-09-17 12:57:20 2986 5
原创 Gradle 引入本地定制 jar 包,而不使用坐标下载 jar 包的方法
Gradle 引入本地定制 jar 包,而不使用坐标下载 jar 包的方法第 1 步:创建文件夹,拷贝 jar 包在自己的 Gradle 项目里建立一个名为 “libs” (这个名字可以自己定义,不一定非要叫这个名字)的文件夹,把自己本地的 jar 包拷贝到这个文件夹中。 第 2 步:编写 build.gradle 核心配置文件片段在 Gradle 的核心配置文件 build.gradle 中添加
2016-09-13 11:50:53 14877 1
原创 我学习 Java 的历程和体会(写给新手看,欢迎老司机批评和建议,持续更新中)
我学习 Java 的历程和体会(写给新手看,欢迎老司机批评和建议,持续更新中)Java 基础很重要说 Java 基础很重要可能是一句废话,面向对象、代码块、静态、final、重写、重载、继承和接口,这些概念值得反复看,反复推敲。而后就是一些很重要的基础模块的学习,IO 流(理解装饰器设计模式)、多线程(程序不止一条执行流、线程的创建、线程的几种状态、线程的控制、多线程如何通信)、网络编程(TCP、U
2016-09-11 10:38:34 10199 16
原创 使用百度开放云 应用引擎 BAE 部署项目的一些心得
说明:本部署说明针对 Java 应用。 当然,我这里记录的也只是为了方便自己看,要想得心应手地使用 BAE 部署项目,还是要去看 BAE 的官方文档,还是要去看 BAE 的官方文档,还是要去看 BAE 的官方文档。为什么使用 BAE ?1、部署操作简单; 使用 Git 工具上传 war 包 即可; 我对比使用了 MoPaaS (魔泊云),感觉 MoPaaS 操作不是很方便。 2、价格便宜
2016-09-10 16:32:25 9046 1
原创 Maven 的 Web 项目使用 war 插件针对不同环境打包
这一节我们介绍 Maven 的 Web 项目使用 war 插件针对不同环境打包。这是我在 BAE 部署自己的博客应用的时候整理的一种方案,供大家参考。最最重要的思路其实就一条:打包之前替换配置文件,从手动变为自动。重点内容需求的提出:在开发阶段,我们的 MySQL 数据库连接配置基本上都连着本机数据库, Lucene 索引存放目录基本上是开发者本机的一个目录。但是到了生产环境部署的时候, MySQL
2016-09-10 15:49:01 9945 2
原创 反射的基本知识
读取配置文件Properties properties = new Properties();FileReader reader = new FileReader("src/class.txt");properties.load(reader);reader.close();String methodName = properties.getProperty("methodName");St
2016-09-06 16:07:20 569
原创 绕过泛型,通过反射把 String 添加到 List<Integer> 中
public class ArrayListDemo { public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { List<Integer> list = new ArrayList<>();
2016-09-06 15:31:20 1949
原创 模板方法设计模式
步骤 1 :设计模板类先设计一个“模板”出来,这个类是一个抽象类。 注意:Game 的 play 方法是 final 的。 这个抽象类是模板设计模式的核心。public abstract class Game { abstract void initialize(); abstract void startPlay(); abstract void endPlay();
2016-09-04 11:11:16 455
Eclipse插件之MyBatisLink
2015-03-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人