目录结构如下
在自己配置的ShiroConfig中已经放行了
filterChainDefinitionMap.put("/static/**", "anon");
login.ftl也引用了静态资源
<link rel="stylesheet" type="text/css" href="/logins/css/normalize.css" /> <link rel="stylesheet" type="text/css" href="/logins/css/demo.css" /> <link rel="stylesheet" href="/logins/js/vendor/jgrowl/css/jquery.jgrowl.min.css">
可是资源依然被拦截了
于是注释掉了
//filterChainDefinitionMap.put("/**", "authc");
静态资源可以访问了, 说明不是shiro的内在问题.
经过一番考虑, 感觉像是静态资源路径的问题, 于是在浏览器控制台看一下source的路径, 发现静态资源的路径前面是没有static的, 因而shiro也不会放行.
springboot默认会将static目录中的内容做为classes根目录的内容发布到web服务器, 所以如果想要放行静态资源, 同时又要实现拦截/**请求, 那么我的解决办法是:
解决办法
目录改造如下:
拦截配置:
filterChainDefinitionMap.put("/statics/**", "anon");
filterChainDefinitionMap.put("/**", "authc");
重启web服务器, 清除浏览器缓存, 此时source中已经是正确的路径了, 静态资源被引用了.问题解决
记录一下自己犯得低级错误, 见笑见笑 (笑哭脸)
<li class="tool-item tool-active is-like "><a href="javascript:;"><svg class="icon" aria-hidden="true">
<use xlink:href="#csdnc-thumbsup"></use>
</svg><span class="name">点赞</span>
<span class="count">2</span>
</a></li>
<li class="tool-item tool-active is-collection "><a href="javascript:;" data-report-click="{"mod":"popu_824"}"><svg class="icon" aria-hidden="true">
<use xlink:href="#icon-csdnc-Collection-G"></use>
</svg><span class="name">收藏</span></a></li>
<li class="tool-item tool-active is-share"><a href="javascript:;"><svg class="icon" aria-hidden="true">
<use xlink:href="#icon-csdnc-fenxiang"></use>
</svg>分享</a></li>
<!--打赏开始-->
<!--打赏结束-->
<li class="tool-item tool-more">
<a>
<svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg>
</a>
<ul class="more-box">
<li class="item"><a class="article-report">文章举报</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="person-messagebox">
<div class="left-message"><a href="https://blog.csdn.net/Maxs_personal">
<img src="https://profile.csdnimg.cn/9/7/6/3_maxs_personal" class="avatar_pic" username="Maxs_personal">
<img src="https://g.csdnimg.cn/static/user-reg-year/2x/2.png" class="user-years">
</a></div>
<div class="middle-message">
<div class="title"><span class="tit"><a href="https://blog.csdn.net/Maxs_personal" data-report-click="{"mod":"popu_379"}" target="_blank">Maxs_personal</a></span>
</div>
<div class="text"><span>发布了3 篇原创文章</span> · <span>获赞 2</span> · <span>访问量 8945</span></div>
</div>
<div class="right-message">
<a href="https://im.csdn.net/im/main.html?userName=Maxs_personal" target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-letter">私信
</a>
<a class="btn btn-sm bt-button personal-watch" data-report-click="{"mod":"popu_379"}">关注</a>
</div>
</div>
</div>
目录结构如下
在自己配置的ShiroConfig中已经放行了
filterChainDefinitionMap.put("/static/**", "anon");
login.ftl也引用了静态资源
<link rel="stylesheet" type="text/css" href="/logins/css/normalize.css" /> <link rel="stylesheet" type="text/css" href="/logins/css/demo.css" /> <link rel="stylesheet" href="/logins/js/vendor/jgrowl/css/jquery.jgrowl.min.css">
可是资源依然被拦截了
于是注释掉了
//filterChainDefinitionMap.put("/**", "authc");
静态资源可以访问了, 说明不是shiro的内在问题.
经过一番考虑, 感觉像是静态资源路径的问题, 于是在浏览器控制台看一下source的路径, 发现静态资源的路径前面是没有static的, 因而shiro也不会放行.
springboot默认会将static目录中的内容做为classes根目录的内容发布到web服务器, 所以如果想要放行静态资源, 同时又要实现拦截/**请求, 那么我的解决办法是:
解决办法
目录改造如下:
拦截配置:
filterChainDefinitionMap.put("/statics/**", "anon");
filterChainDefinitionMap.put("/**", "authc");
重启web服务器, 清除浏览器缓存, 此时source中已经是正确的路径了, 静态资源被引用了.问题解决
记录一下自己犯得低级错误, 见笑见笑 (笑哭脸)
来源:CSDN
作者:别抢我蓝buff
链接:https://blog.csdn.net/qq_44813090/article/details/104106297