rg.crazycake.shiro.exception.PrincipalInstanceException: class java.util.HashMap must has getter for field: idWe need a field to identify this Cache Object in Redis. So you need to defined an id field which you can get unique id to identify this prin…
上篇博客(Shiro中的授权问题 )我们介绍了Shiro中最最基本的授权问题,以及常见的权限字符的匹配问题.但是这里边还有许多细节需要我们继续介绍,本节我们就来看看Shiro中授权的一些细节问题. 验证流程 首先我们要搞明白整个的验证流程是什么样子的. 在上篇博客(Shiro中的授权问题 )中,我们验证Subject是否具备某项权限的时候使用的是isPermitted方法,但是在上上篇博客(初识Shiro )中,我们也说过,Subject只是Shiro中的一个门面而已,最终所有的操作都是委托给S…
1.引入Shiro的Maven依赖 [html] view plain copy <!-- Spring 整合Shiro需要的依赖 --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.2.1</version> </dependency> <dep…
1.POM文件中加入Shiro和fastJSON依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>com.alibaba</grou…
一>java遍历Hashtabe: import java.util.Hashtable; import java.util.Set; public class HashTableTest { public static void main(String args[]){ Hashtable<String, String> ht = new Hashtable<String, String>(); ht.put("one", "The first…
1.出错 今天在测试代码的时候发现程序报错,看代码才知道是使用HashMap.values()方法的时候出错.因为项目中需要获取Map的值的集合然后进行遍历,所以就很自然的调用了HashMap.values()方法,如下所示 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 package collections;   import java.util.HashMap; import java.util.Li…
遍历,添加词,等等 package test; import java.util.HashMap; import java.util.Iterator; import java.util.ArrayList; import java.util.Collection; import java.util.Map.Entry; import java.util.Set; public class test6 { public static void main(String[] args) { Hash…
近期在修程序的bug,发现后台抛出下面异常: Exception in thread "main" java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) at java.util.HashMap$KeyIterator.next(HashMap.java:828) at com.keyman.demo.test.ClearResult…
前言 本文主要讲解的知识点有以下: Shiro授权的方式简单介绍 与Spring整合 初始Shiro过滤器 一.Shiro授权 上一篇我们已经讲解了Shiro的认证相关的知识了,现在我们来弄Shiro的授权 Shiro授权的流程和认证的流程其实是差不多的: 1.1Shiro支持的授权方式 Shiro支持的授权方式有三种: Shiro 支持三种方式的授权: 编程式:通过写if/else 授权代码块完成: Subject subject = SecurityUtils.getSubject();…
在初识Shiro一文中,我们对Shiro的基本使用已经做了简单的介绍,不懂的小伙伴们可以先阅读上文,今天我们就来看看Shiro中的授权问题. Shiro中的授权,大体上可以分为两大类,一类是隐式角色,还有一类是显式角色.我们来分别看下. 隐式角色 隐式角色是一种基于角色的访问权限控制,它在使用的过程中,我们直接判断相应的Subject是否是某一种角色,进而判断该Subject是否具备某种权限,比如下面一个例子: 定义用户 在ini文件中定义用户和对应的角色: [users] zhang=123,…