更新:
该方法过滤器过滤规则(/pdf/*)与server.xml配置中的静态资源路径(/pdf)冲突,暂无解决方法,后面解决后再更新
学到一个解决思路,通过Filter过滤器解决。
创建一个Filter:
package com.plt.filter;
import org.apache.shiro.SecurityUtils;
public class PDFFilter implements Filter{
@Override
public void init(FilterConfig filterConfig) throws ServletException {}
/*
* 访问pdf文件时的登录状态过滤
* */
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
//过滤规则内容
HttpServletRequest req = (HttpServletRequest) request;
String user_name = (String) SecurityUtils.getSubject().getPrincipal(); //shiro框架下的当前登录用户名获取
if(user_name != null) {
chain.doFilter(request, response);
}else {
req.getRequestDispat