shiro
一夏洛克一
这个作者很懒,什么都没留下…
展开
-
shiro_01_shiro简介
百度百科介绍文档Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。三个核心组件:Subject, SecurityManager 和 Realms.Subject:即“当前操作用户”。但是,在Shiro中,Su...原创 2018-08-18 10:30:16 · 141 阅读 · 0 评论 -
shiro_02_身份认证
Subject 认证主体subject就是指当前执行的用户。Subject 认证主体包含两个信息:Principals:身份,可以是用户名,邮件,手机号码等等,用来标识一个登录主体身份;Credentials:凭证,常见有密码,数字证书等等 身份认证流程详见文档:Subject表示当前用户,调用.login方法,将凭证交给Security Manager,这个S...原创 2018-08-18 19:44:12 · 257 阅读 · 0 评论 -
shiro_03_权限认证(授权)
权限认证核心要素权限认证,也就是访问控制,即在应用中控制谁能访问哪些资源。在权限认证中,最核心的三个要素是:权限,角色和用户;权限,即操作资源的权利,比如访问某个页面,以及对某个模块的数据的添加,修改,删除,查看的权利;角色,是权限的集合,一中角色可以包含多种权限;用户,在 Shiro 中,代表访问系统的用户,即 Subject;授权3种授权的方式:编程性授权...原创 2018-08-18 22:58:58 · 309 阅读 · 0 评论 -
shiro_04_权限认证(2)
上一篇主要介绍了编程性授权,还有两种方式进行授权:1.注解式授权2.jsp标签授权详解看文档注解式授权:@RequiresAuthentication 要求当前Subject 已经在当前的session 中被验证通过才能被访问或调用。@RequiresGuest 要求当前的Subject 是一个"guest",也就是说,他们必须是在之前的 session 中没有被验证...原创 2018-08-19 00:16:32 · 115 阅读 · 0 评论 -
shiro_05_shiro集成Web
在之前的介绍中,我们用的是j2se环境,现在如果集成 web,该怎么配置呢?在web环境下,怎么对url进行身份认证,角色认证以及权限认证呢?官方文档:shiro-web首先来搭建一下环境。采用原始的jsp开发环境,集成框架的话,后面的章节介绍。需要引入的依赖;jsp,servlet,common-logging,shiro-core,shiro-web第一步:配置web.xm...原创 2018-08-19 12:48:18 · 151 阅读 · 0 评论 -
shiro_06_shiro标签使用以及shiro会话机制
shiro标签使用前面介绍权限认证时,说了有3种方式:编程式授权,jsp标签,注解式授权,没测试一下,这一篇来测试一下shiro的标签的使用:也可以参考官方文档:jsp标签首先要引入标签:在jsp页面加<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>Guest 标签:用户没有身份验...原创 2018-08-19 14:48:37 · 421 阅读 · 0 评论 -
shiro_07_自定义Realm
在之前我们用的都是直接读取ini文件的数据,显然这种方式不现实,仅针对数据量较小的时候的测试,这一篇来介绍利用自定义的Realm读取数据库的数据。第一步,根据用户拥有角色和权限建立数据库:我们按照上一篇的用户关系来建数据库,一个角色可以对应多个用户,一个角色也可以对应多个权限。所以我们要建3张表:t_user(id,userName,password,roleId)t_role...原创 2018-08-19 20:35:14 · 194 阅读 · 0 评论 -
shiro_08_加密
shiro封装了很多加密的手段,这一篇来介绍其中的Base64加密,与现在比较流行的md5加密在shiro的核心包里封装了很多加密的算法: 这些加密方法都是封装好的,可以直接用; /** * Base64加密 * @param str * @return */ public static String encBase64(String str) { re...原创 2018-08-19 21:22:40 · 103 阅读 · 0 评论 -
shiro_09_Shiro 支持特性
这一篇简单的说一下shiro支持的特性,有些东西是不常用的就不详细介绍 第一个是web支持,这个在前面的已经说过,就是在web.xml中配置一下,前面已经很详细的说了,这里就直接略过。第二个是提供缓存支持,一般来说只有当系统并发量很高,用户量很大的时候,才会采用缓存技术来提高性能,提高用户体验第三个是并发支持,和前面一样,当并发量很大时采用,可以参考官方文档第四是提供测试支持,...原创 2018-08-19 21:49:06 · 148 阅读 · 0 评论