博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shiro添加错误提示信息
阅读量:6578 次
发布时间:2019-06-24

本文共 1181 字,大约阅读时间需要 3 分钟。

hot3.png

框架用的是springmvc框架,具体shiro配置的方法不详细介绍了。

1.通过session存放错误信息,jsp页面获取显示

这种方法比较简单快捷,直接在实现验证方法doGetAuthenticationInfo中添加session信息就可以了,然后在jsp页面判断显示。

添加session:

SecurityUtils.getSubject().getSession().setAttribute("message", "密码错误");

jsp获取session信息:

<%

 String message = "";
 if(request.getSession().getAttribute("message") != null) {
  message = request.getSession().getAttribute("message").toString();
 }
%>

<b><%=message %></b>

2.通过抛出shiro异常,在jsp识别根据异常显示提示信息,下面是一些常见登录验证中可能存在的异常:

UnknownAccountException 账号不存在异常

IncorrectCredentialsException 当输入密码错误会抛此异常
DisabledAccountException(帐号被禁用)
LockedAccountException(帐号被锁定)
ExcessiveAttemptsException(登录失败次数过多)
ExpiredCredentialsException(凭证过期)

java代码:

throw new UnknownAccountException();

jsp获取异常:

<%@ page language="java" import="com.hna.cums.bisu.security.MyFormAuthenticationFilter" %>

<%@ taglib prefix="c" uri=">
<%@ taglib uri="" prefix="fn" %>

<%

 String error = (String) request.getAttribute(MyFormAuthenticationFilter.DEFAULT_ERROR_KEY_ATTRIBUTE_NAME);
%>

<b>

     <c:set var="exp_type" value="<%=error %>"/>
     <c:if test="${fn:contains(exp_type,'UnknownAccountException')}">
                  账号不存在!
              </c:if>
 </b>

效果图:

转载于:https://my.oschina.net/u/2609444/blog/714595

你可能感兴趣的文章
django rest framework
查看>>
登录注册界面
查看>>
poj1985 求树的直径
查看>>
【R语言系列】read.table报错incomplete final line found by readTableHeader
查看>>
ORACLE中通过SQL语句(alter table)来增加、删除、修改字段
查看>>
面向接口、对象、方面编程区别 -- 精简版
查看>>
jvm内存快照dump文件太大,怎么分析
查看>>
js判断手机还是pc并跳转相关页面
查看>>
Python PyPI中国镜像
查看>>
centos 设置静态IP
查看>>
[Angularjs]系列——学习与实践
查看>>
js -- canvas img 封装
查看>>
转 我们工作的动力是什么 工作最终是为了什么?
查看>>
测试一个网站的最大并发量并发数并发用户
查看>>
适配器模式(数据库方面)支持不同的数据库连接
查看>>
Jenkins(二) 安装、新建Jobs与删除及SVN配置(转)
查看>>
CF456B Fedya and Maths 找规律
查看>>
touch修改mtime和atime
查看>>
nodejs安装及windows环境配置
查看>>
转载:Beginning WF 4.0翻译——第三章(流程图工作流)
查看>>