上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 31 下一页
摘要: 一 . 概述 在前面我们的自定义Realm之中有一个问题,就是我们的密码是明文的,这个在实际的项目之中是不可能存在的. 在shiro之中,提供了加密的模块.我们可以使用各种加密的方式进行加密. 本节就介绍一下加密组件的使用. 二 . 加密组件 首先看一下shiro为我们提供的Hash加密类结构. 我 阅读全文
posted @ 2018-05-18 19:21 最爱五仁月饼 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 一 . 概述 上几节我们一直再使用int文件充当realm,现在这一届我们就使用自定义的Realm完成认证和授权操作. 在前面我们分析到我们的自定义的Realm需要继承AuthorizingRealm这个类. 二 . 编写自定义Realm 我们首先定义一个类继承了AuthorizingRealm这个 阅读全文
posted @ 2018-05-16 23:28 最爱五仁月饼 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 一 . 概述 授权: 就是访问控制. 在用户认证之后,用户做出的一些操作之前需要判断用户是否有权限可以完成该操作,这个过程就是授权. 在shiro之中,支持两个方面的授权检测. (1)角色授权 (2)权限授权 二 授权环境的搭建 [users]trek=123,admin[roles]admin=u 阅读全文
posted @ 2018-05-16 23:07 最爱五仁月饼 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 一 . 概述 认证:简单说就是登录,用户携带账号和密码信息通过Subject对象与shiro进行交互,看用户的身份凭证是否正确. 本节需要演示认证的流程. 二 .搭建环境 本次使用ini充当Realm对象,使用IniSecurityManager充当SecurityManager对象,这个在后面我们 阅读全文
posted @ 2018-05-16 22:56 最爱五仁月饼 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 一 . 概述 本次简单的说明一下shiro的使用,将上一节的shiro的基本功能进行一下说明. 二 . 核心API 上一节我们说到Shiro对外部的核心对象有三个 [1]Subject : 描述用户对象 [2]SecurityManager : 安全管理器对象,封装shiro功能的对象. [3]Re 阅读全文
posted @ 2018-05-16 22:43 最爱五仁月饼 阅读(991) 评论(0) 推荐(0) 编辑
摘要: 一 . 概述 shiro作为一个权限框架,它最大的特点不是简单易用,而是可配置性强,也就是说我们几乎可以修改shiro的全部功能实现以符合自己的预期. 要想做到定制性的使用,就必须要对shiro的一些原理进行一些分析. 二 . shiro的外部架构 从外部架构图中可以看到,我们的应用程序使用Subj 阅读全文
posted @ 2018-05-16 22:26 最爱五仁月饼 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 一 . 概述 我们创建线程的代价是相当大的,线程池就是一个减少线程创建代价的事物.核心就是完成线程创建的任务. 当然当我们将线程的创建工作都交给了线程池,那么线程池就拥有了线程的控制权. 三 .线程池的分类 在JUC之中将线程池分成四类: 我们看一下类的结构. 上面介绍了我们最为常见的四种线程池. 阅读全文
posted @ 2018-05-09 21:50 最爱五仁月饼 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 一 . 概述 在并发的经典场景之中,有一个读者和写者的问题.其中描述的问题是有写者和读者完成对一个资源的访问,其中读者可以共享的访问的 资源,而写者只能独占的访问资源. 我们看到这个场景之中有独占和共享两个概念. 二 . 读写锁 在JUC之中提供了一个读写锁,通过读写锁可以完成对资源的读写操作,其中 阅读全文
posted @ 2018-05-09 19:58 最爱五仁月饼 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 一 . 概述 在之前的Thread类之中有线程挂起和停止等操作,但是这些方法都被废弃了. 在JUC之中,提供了LockSupports类可以完成线程的挂起等操作了. 二 .例子 在这个例子中,我们使用park()方法挂起了当前的线程,因此子线程在打印了线程启动之后就被挂起了. 主线程在3秒之后就重启 阅读全文
posted @ 2018-05-08 22:18 最爱五仁月饼 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 一 . 概述 该类描述的是一个交换空间,我们可以理解为我们的生产者和消费者模型之中的缓冲区. 二 . 类结构 构造方法: 这个类的构造需要一个泛型,表示需要交换的数据. exchange()交换数据. 当传入null的时候表示从缓冲区中获取数据. 三 . 例子 我们模拟一个生产者和消费者的模型 注意 阅读全文
posted @ 2018-05-08 22:05 最爱五仁月饼 阅读(98) 评论(0) 推荐(0) 编辑
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 31 下一页