shiro如何去掉弹出提示框登录
时间: 2023-07-05 09:20:53 浏览: 107
可以通过重写Shiro默认的FormAuthenticationFilter来实现去掉弹出提示框登录。具体步骤如下:
1. 创建一个类,继承Shiro默认的FormAuthenticationFilter。
2. 重写onAccessDenied方法,在该方法中,判断请求是否为Ajax请求,如果是Ajax请求,则直接返回Json数据,否则执行默认的登录逻辑。
3. 在Shiro配置文件中,将自定义的FormAuthenticationFilter配置为默认的过滤器。
下面是示例代码:
```
public class CustomFormAuthenticationFilter extends FormAuthenticationFilter {
@Override
protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
if (isAjax(request)) {
response.setContentType("application/json;charset=UTF-8");
response.getWriter().write("{\"code\":401,\"msg\":\"未登录\"}");
} else {
return super.onAccessDenied(request, response);
}
return false;
}
private boolean isAjax(ServletRequest request) {
String header = ((HttpServletRequest) request).getHeader("X-Requested-With");
return "XMLHttpRequest".equalsIgnoreCase(header);
}
}
```
在Shiro配置文件中,将自定义的FormAuthenticationFilter配置为默认的过滤器:
```
[main]
...
authc = com.example.CustomFormAuthenticationFilter
...
```
这样就可以去掉Shiro弹出的提示框登录了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)