今天在做用户登录那一块,遇到了密码随便输入还能登录问题,一直不知道问题出在哪里,开始用debug调试 发现从数据库中查询不到密码,只能查询出来用户名,所以在登录校验的时候只校验了用户名这一项

然后开始一步步检查错误 ,service层没有错,dao层的接口没问题 ,最终问题锁定到mapper文件里 。

发现mapper文件中的sql语句有问题。

登录控制层代码:

 /**     * 点击登录执行的动作 TODO 第一次登录页面 没有解析${pageContext.request.contextPath} $%7B %7D */ @RequestMapping(value = "/loginValid", method = RequestMethod.POST)public String loginValid() {

 String username = super.getPara("userName").trim(); String password = super.getPara("password").trim();

// //验证验证码是否正确// if(ToolUtil.getKaptchaOnOff()){// String kaptcha = super.getPara("kaptcha").trim();// String code = (String) getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY);// if(ToolUtil.isEmpty(kaptcha) || !kaptcha.equals(code)){// throw new InvalidKaptchaException();// }// }

 // 取数据库验证用户名和密码,然后保存当前用户到session User loginUser = userMapper.loginValid(username,password); //取不到用户密码,只能查询出来其他字段值if (loginUser == null) {throw new LoginValidException(); }

getSession().setAttribute("sessionFlag",true);getSession().setAttribute("currentUser",loginUser);

return REDIRECT + "manage/index"; }

mapper文件里面的sql:
<select id="loginValid" resultType="user"> select<include refid="Base_Column_List" /> from user where state = 1 and phone = #{username} or account = #{username} or name= #{username}//开始以为是sql语句有问题 一直在纠结 and和 or 的问题 ,删除了 or name=#{username} and password = #{password}

</select>

最后发现sql片段里面的字段没有password这一字段,但是这个作为条件 为了用户隐私,不能让查询到密码才设置的 后来发现没办法加了这一字段 
<sql id="Base_Column_List">   id, password,account, name, birthday, sex, email, avatar,   phone, dept_id, level, state, create_time, version</sql>

<select id="loginValid" resultType="user"> select<include refid="Base_Column_List" /> from user where state = 1 and phone = #{username} or account = #{username} and password = #{password}

</select>最终这一问题才接解决,总感觉有不妥的地方 ,不知道错在哪里 新人菜鸟一枚 希望能提出宝贵意见

转载于:https://www.cnblogs.com/x9y9h/p/10136602.html

用户在登录的时候,密码输入错误也能登录问题相关推荐

  1. C语言实现可写入文件的账号密码登录系统,密码输入时掩盖,登录界面菜单选择,更改密码系统,课设必备。

    账号登录系统在很多系统设计时都时必不可少的,今天这个登录系统功能较全,可以注册,登录,找回密码,修改密码,以及在输入密码时会有*将密码掩盖,还有完善地登录选择界面,废话不多,上代码! 目录 1.头文件 ...

  2. <微信小程序>登录界面实现密码输入错误3次,30分钟不允许该账号登录

    当时面临如此需求,实在无从下手,后自己想了一个灵活的方法进行面对,特此记录,希望以后不会看不懂自己的代码 登陆界面设置 这个百度一下就可以,与数据库交互的登录界面很是简单,由于本项目要求不可注册,故只 ...

  3. 根据用户输入的账号和密码,确认是否成功登录?若正确,提示“恭喜您,登录成功!”;若错误,提示“账号或密码输入错误,请重新输入!”;若错误输入超过3次,则提示“今天输入已经超过3次

    根据用户输入的账号和密码,确认是否成功登录?若正确,提示"恭喜您,登录成功!":若错误,提示"账号或密码输入错误,请重新输入!":若错误输入超过3次,则提示&q ...

  4. 解决IDEA GIT密码输入错误后,报Authentication failed ... 不再弹出输入框,提交更新失败

    IDEA GIT密码输入错误后,不再弹出输入框,提交更新失败,此时可以到windows凭据中去修改. 方法一: 开始菜单 >> 点击用户头像 >> 在左侧选择"管理你 ...

  5. iphone 密码输入错误_如何使用iPhone在Apple TV上输入密码

    iphone 密码输入错误 Using the Siri Remote to enter text on an Apple TV is difficult, especially when it's ...

  6. webstorm中git密码输入错误,重置问题

    webstorm中git密码输入错误,重置问题 今天遇到了一个问题. 因为我比较习惯使用webstorm编辑器,特别喜欢直接用里面的git工具. 当从远程仓库fetch下来代码时,提示输入用户名密码. ...

  7. php限制密码输入错误次数,js密码输入错误指定次数禁止输入

    下面要说的是网站中一个常见的功能,在客人使用抵用券或者其他来支付的时候需要验证密码,如果密码输入错误5次就锁定,不在让客人使用抵用券了,在这里是使用的cookie来实现的,不太严谨. 思路很简单,在输 ...

  8. 表单验证通过输入框获取用户输入的密码,如果输入密码为“happy123”,则显示“密码输入正确”,否则提示“密码输入错误”,如果输入三次,显示提示信息“三分钟后在尝试”

    功能:简单的表单验证,密码输入次数控制,定时器控制可输入提醒,密码匹配 Html:请忽略界面设计,没时间做 <form><input id="userName" ...

  9. 模拟用户登录界面,三次错误之后不能登录,输入正确显示登录成功

    #include<stdio.h> #include<string.h> #include<windows.h> #include<stdlib.h> ...

最新文章

  1. mysql回表_到底什么情况下mysql innodb会发生回表操作?
  2. 【ASP.NET】ASP.NET中权限验证使用OnAuthorization实现
  3. atitit. 浏览器插件 控件 applet 的部署,签名总结 浏览器 插件 控件 的签名安全机制o9o...
  4. (二)Thymeleaf标准表达式之——简单表达式
  5. 自己用到的vim常用命令
  6. 一个详细的JTable使用例子
  7. js实战代码系列—周杰伦给你报时间+网页页签制作模板+jQuery初体验
  8. python元祖封包_[Day8]遷延蹉跎,來日無多-python終極指南:模組和封包,外掛般的超能力...
  9. linux中的设备名称和设备号,linux中的设备名称和设备号
  10. raw socket 使用 BPF 过滤报文
  11. JS常用事件兼容性处理方法
  12. 【原创】《管理的实践》阅读有感
  13. Gazbo下的无人车集群导航仿真
  14. [Ubuntu] 解决Win10+Ubuntu双系统时间不一致问题
  15. 【kafka】kafka windows Invalid UTF-8 middle byte 0xfe
  16. 现网必用的主备冗余技术,VRRP理论+配置
  17. 2022JK工作室第二次招新赛题解
  18. html九宫格排列图片,10款jQuery实现的360浏览器九宫格图片拖拽排序
  19. python清华大学出版社答案_清华大学出版社的这本Python入门书,出版8年 仍经久不衰...
  20. ioh3000t长虹盒子刷机固件 S905LB-高安-xian刷固件

热门文章

  1. 股票分红对于短期投资有好处吗?
  2. 茅台酒是不是勾兑的?
  3. 「职业生涯规划」真的有必要做吗?
  4. 创业项目筹备了两个多月,确实不容易
  5. 互联网行业哪个职位比较有前途?
  6. 以太网CSMA/CD算法交换机自学习/转发简述
  7. 使用wireshark抓netlink包问题
  8. 德鲁伊 oltp oltp_内存中OLTP系列–简介
  9. 整合SQL Server 2012和2014
  10. ssis 创建ssisdb_SSIS目录数据库(SSISDB)简介