关闭

Shiro——授权操作

授权:又叫访问控制,即在应用中控制哪些用户可以访问哪些资源(如访问页面、编辑数据、页面操作等)。在授权中需要了解几个关键对象:主体、资源、权限、角色。 主体(Subject):访问应用的用户,在shiro中使用subject代表该用户,用户只有在授权后才能访问指定的资源; 资源(Resource):可以通俗地理解为在应用中可以访问的URL,比如访问某个jsp页面、查看/编辑某些数据、访问某个业务方...
阅读(3) 评论(0)

Shiro——认证策略

在上一篇中介绍了一下关于多个realm的配置,那么随之而来的疑问是,当我们配置好多个realm之后,当用户进行登录操作时,是同时满足所有realm才算认证成功还是说,只要有一个或者部分realm即可?这就涉及到了认证策略的问题。所以这里也说一下。 关于AuthenticationStategy: FirstSuccessfulStrategy:只要第一个realm验证成功即可,只返回第一个real...
阅读(8) 评论(0)

Shiro——多个Realm的配置

为什么需要使用多个Realm?经过MD5或者其他加密算法的加密、盐值的使用之后,我们的数据看似已经十分的安全,但是也未必,所以,更好的方式是将数据存储于多个数据库中,混合使用不同的加密算法。第一种配置多Realm的方式这个过程也十分地简单,仅仅按照之前我们自定义Realm的方式,再行配置一个Realm即可。要注意将securityManager的realm属性改为realms集合属性:<bean i...
阅读(7) 评论(0)

Shiro认证源码解析和工作原理

先行回顾一下使用shiro的步骤: 1. 创建Subject实例对象currUser; 2. 判断当前currUser是否认证过; 3. 如果没有认证过,那么应当调用currUser的login(token)方法,token也就是令牌,用以封装用户输入的登录信息; 4. 实现自定义Realm,用以完成和数据库的交互,由Shiro底层来完成用户输入信息和数据库信息的比对,完成认证。 当然与...
阅读(9) 评论(0)

Shiro的MD5加密

MD5的全称是Message Digest5,就是消息摘要算法5,需要知道它是一中不可逆算法,这意味着,尽管你知道结果是100,但你也不可能知道是99+1或者是50+50。 Shiro的MD5加密可以借助于AuthenticatingRealm的credentialsMatcher属性,借助于该属性,我们可以为其创建一个内部bean,指定bean相关属性。<bean id="myrealm" cl...
阅读(12) 评论(0)

Shiro——Realm数据交互的实现

自定义一个Realm,自定义Realm可以实现Realm接口,当然,根据自己的业务需求,也可以继承不同的父类,例如,我们需要实现认证功能,那么就可以继承AuthenticatingRealm,实现该接口的getAuthenticationInfo()方法。代码如下:public class MyRealm extends AuthenticatingRealm { /** * 1.d...
阅读(10) 评论(0)

shiro的URL配置

让我们再次回忆一下spring容器中shirofilter的配置: <property n...
阅读(9) 评论(0)

Shiro:DelegatingFilterProxy

一 用途和意义 回忆一下quickStart中的配置过程不难得出结论,shiro的核心配置应当位于Spring的applicationContext中的id为shiroFilter的bean。但我们在web.xml中还有一个name为shiroFilter的Filter的配置,它的类型是DelegatingFilterProxy...
阅读(15) 评论(0)

shiro的quick-start

pom如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0...
阅读(18) 评论(0)

Shiro(3)——授权

授权,也就是访问控制,即在应用中控制谁能访问哪些资源,比如页面访问、数据编辑等等操作的权限。在授权操作中需要这样几个关键对象:主体(Subject)、资源(Resources)、权限(Permission)、角色(Role)。主体主体也就是当前的用户,在Shiro中使用Subject代表当前用户。该用户只有被授权之后才能访问相应的资源资源应用中的图片、打印、页面、一些业务方法等等一切可以被访问的东西...
阅读(39) 评论(0)

Shiro笔记(2)——身份验证

认证(Authentication)其实是一个身份认证的过程,也就是饱受吐槽的“证明你自己是你自己”。用户需要向Shiro提交principals以及credentials以验证它们是否是应用所需。 Principals:事实上是主体的标识,它可以是任何东西,身份证、手机号、邮箱等等。 Credentials:通常是只有主体知道的秘密值,常见的例如密码、指纹、生物虹膜信息等。 在此我们需要引...
阅读(31) 评论(0)

Shiro学习笔记(1)——综述

刚刚接触Shiro我是懵逼的,我从来没见过这个东西,所以程序员是非常有趣的职业,虽然我还不是,这意味着工作的过程中会碰到各种奇怪的闻所未闻的东西,因此保持好奇和学习的能力十分重要,没错,我要学习Shiro了。Shiro简介Shiro是一款强力易用的Java安全框架,可以用于认证、授权、加密以及会话管理等等用途,无论是Java SE还是Java EE环境,它都能够发挥作用。Shiro具有以下特征:...
阅读(49) 评论(0)

Gradle构建项目

来个小栗子/**构建脚本中默认是有一个project实例的,脚本中所有代码的默认作用域都是project**/ /**apply是project的一个方法,省略括号,plugin是其参数,值为'java';version是project的一个属性**/ /**repositories依然是project的一个方法,以闭包作为参数,闭包中调用mavenCentral()方法,dependencies也...
阅读(41) 评论(0)

Groovy初步了解

简介Groovy是一种基于JVM的强大的动态语言,它是成熟的面向对象编程语言,同时又可以用作纯粹的脚本语言。由于其简单而熟悉的语法,能够很大程度上提升Java平台开发人员的生产力。它能够和Java程序无缝衔接,然后使得你的程序具备其强大的特性,包括其脚本、域专用语言,运行时以及编译时的元编程、功能编程。Groovy和Java语法上的一些区别 方法的最后一句会作为返回值; 一个语句结束可以没有分号;...
阅读(45) 评论(0)

Java动态代理

所谓动态代理,就是在程序运行时生成代理类,而无需像静态代理那样一个个得编写代理类,动态代理的实现方式比较多:有java代理、CGlib代理、ASM库等等。依次了解一下。Java动态代理InvocationHandler接口Java动态代理需要代理类实现InvocationHandler接口,当我们通过代理类调用一个方法时,这个方法就会被转发给代理类的invoke方法来调用,InvocationHan...
阅读(33) 评论(0)
66条 共5页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:5792次
    • 积分:679
    • 等级:
    • 排名:千里之外
    • 原创:63篇
    • 转载:2篇
    • 译文:1篇
    • 评论:1条
    最新评论