最开始一直不去自定配置类
究其原因发现是少了:
/** * shiro配置类 */ @configuration
少了@configuration,这个注解配置。
一路顺畅的走了下来

是不是要美滋滋的走上康庄大道了呢?
发现:
anon,匿名放行机制不管用哦。怎么回事呢?
修改成了:
//放行页面;
filtermap.put("/testthymeleaf","anon");
//拦截某个目录下的所有页面;
filtermap.put("/*","authc");再配置shiro的时候,如下代码要注意
1、下述代码中必须是linkedhashmap 而不能是hashmap。
2、anon定义必须在authc之前
否则anon定义不生效
怎么还不行呢?
anon配置的匿名路径被拦截
主要原因:配置过滤器集合时使用了hashmap
map<string,string> filtermap=new hashmap<>();
正确代码如下:应该使用linkedhashmap
map<string,string> filtermap=new linkedhashmap<>();
面试题时刻:
为什么这里用linkedhashmap?
划重点了:
(一)hashmap取值--->不是按照插入顺序
hashmap<string,integer> hm=new hashmap<string, integer>();
hm.put("大学语文",3);
hm.put("英语",1);
hm.put("音乐鉴赏",5);
hm.put("数学",2);
hm.put("形式政策",4);
for (map.entry<string ,integer> entry:hm.entryset()){
system.out.println(entry.getkey()+" : "+entry.getvalue());
}(二):linkedhashmap的取值--->是按照插入取值
linkedhashmap<string,integer> lhm=new linkedhashmap<string,integer>();
lhm.put("化学",1);
lhm.put("生物",2);
lhm.put("物理",3);
lhm.put("语文",4);
lhm.entryset();
for (map.entry<string,integer> entry:lhm.entryset()){
system.out.println(entry.getkey()+" : "+entry.getvalue());
}总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论