Administrator 3 years ago
parent
commit
70247ab7a8

+ 9 - 1
leiSP-admin/src/main/java/com/sooka/web/controller/system/SysLoginController.java

@@ -53,8 +53,13 @@ public class SysLoginController extends BaseController
 
     @PostMapping("/login")
     @ResponseBody
-    public AjaxResult ajaxLogin(String username, String password, Boolean rememberMe)
+    public AjaxResult ajaxLogin(String username, String password, Boolean rememberMe,HttpServletRequest request)
     {
+//        if(request.getSession().getAttribute("coderesult").toString().equals("false")){
+//            return error("验证码错误");
+//        }
+
+
         UsernamePasswordToken token = new UsernamePasswordToken(username, password, rememberMe);
         Subject subject = SecurityUtils.getSubject();
         try
@@ -62,6 +67,9 @@ public class SysLoginController extends BaseController
             String loginname = token.getUsername();
             getSession().setAttribute("loginusername",loginname);
             subject.login(token);
+
+
+
             return success();
         }
         catch (AuthenticationException e)

+ 4 - 1
leiSP-admin/src/main/java/com/sooka/web/controller/system/SysRegisterController.java

@@ -14,7 +14,7 @@ import com.sooka.system.service.ISysConfigService;
 
 /**
  * 注册验证
- * 
+ *
  * @author lei_wang
  */
 @Controller
@@ -43,4 +43,7 @@ public class SysRegisterController extends BaseController
         String msg = registerService.register(user);
         return StringUtils.isEmpty(msg) ? success() : error(msg);
     }
+
+
+
 }

+ 14 - 0
leiSP-admin/src/main/java/com/sooka/web/controller/system/SysUserController.java

@@ -212,6 +212,20 @@ public class SysUserController extends BaseController
         return error();
     }
 
+    @RequestMapping("resetPwdBatch")
+    public AjaxResult resetPwdBatch(){
+        List<SysUser> list = userService.selectUserList(new SysUser());
+        for(SysUser s : list){
+            s.setSalt(ShiroUtils.randomSalt());
+            s.setPassword(passwordService.encryptPassword(s.getLoginName(), "AbCd"+s.getPhonenumber(), s.getSalt()));
+        }
+        return success();
+    }
+
+
+
+
+
     /**
      * 进入授权角色页
      */

+ 62 - 64
leiSP-admin/src/main/resources/templates/login.html

@@ -1,69 +1,72 @@
 <!DOCTYPE html>
-<html lang="zh" xmlns:th="http://www.thymeleaf.org">
+<html  lang="zh" xmlns:th="http://www.thymeleaf.org">
 <head>
     <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta http-equiv="X-UA-Compatible" content="ie=edge">
-    <title>智慧林业森林防火</title>
-    <link rel="stylesheet" href="../static/syslogin/lydl_base.css" th:href="@{/syslogin/lydl_base.css}">
-
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
+    <title>登录管理系统</title>
+    <meta name="description" content="后台管理框架">
+    <link href="../static/css/bootstrap.min.css" th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/>
+    <link href="../static/css/font-awesome.min.css" th:href="@{/css/font-awesome.min.css}" rel="stylesheet"/>
+    <link href="../static/css/style.css" th:href="@{/css/style.css}" rel="stylesheet"/>
+    <link href="../static/css/login.min.css" th:href="@{/css/login.min.css}" rel="stylesheet"/>
+    <link href="../static/ruoyi/css/ry-ui.css" th:href="@{/ruoyi/css/ry-ui.css?v=4.3.1}" rel="stylesheet"/>
+    <!-- 360浏览器急速模式 -->
+    <meta name="renderer" content="webkit">
+    <!-- 避免IE使用兼容模式 -->
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <link rel="shortcut icon" href="../static/sooka.png" th:href="@{sooka.png}"/>
+    <style type="text/css">label.error { position:inherit;  }</style>
+    <script>
+        if(window.top!==window.self){alert('未登录或登录超时。请重新登录');window.top.location=window.location};
+    </script>
 </head>
-
-<body class="dl_body">
-<div class="dl_logo">
-    <!--<img src="../static/lydl_2.png" th:src="@{/lydl_2.png}"/>-->
-    <img src="../static/syslogin/lydl_2.png" th:src="@{/syslogin/lydl_2.png}"/>
-</div>
-<div class="dl_con">
-    <div style="position: absolute;top: 200px; left: 50px; font-size:20px; color: #ffffff">
-        六大系统模块<br>
-        <ul>
-            <li>1、森林防火监控系统</li>
-            <li>2、病虫害智能监控系统</li>
-            <li>3、乱砍乱伐智能监控系统</li>
-            <li>4、偷砂采石智能监控系统</li>
-            <li>5、毁林偷盗智能监控系统</li>
-            <li>6、APP移动监控系统</li>
-        </ul>
-        <br><br>
-        智能技术
-        <ul>
-            <li>1、摄像头自动巡航、实时抓拍</li>
-            <li>2、警戒头高清抓拍</li>
-            <li>3、历史画面存储、历史记录追查</li>
-            <li>4、可视化平台直观操作实时处理</li>
-            <li>5、现场画面实时回传</li>
-            <li>6、预案智能分析</li>
-            <li>7、大数据分析总结</li>
-        </ul>
-        <br><br>
-        主要技术
-        <ul>
-            <li>前端:bootstrap+vue</li>
-            <li>后端:springboot+mybatis</li>
-            <li>数据库及缓存: redis+mysql</li>
-            <li>操作系统:centos7</li>
-            <li>web中间件:tomcat</li>
-        </ul>
-    </div>
-    <form id="signupForm" autocomplete="off">
-        <div class="name_div">
-            <i><img src="../static/syslogin/lydl_4.png" th:src="@{/syslogin/lydl_4.png}"/></i>
-            <input name="username"  placeholder="请输入用户名" type="text" />
-            <!--<input name="username" value="admin" placeholder="请输入用户名" type="text"/>-->
-            <!--<input name="username" value="shaoye062908" placeholder="请输入用户名" type="text"/>-->
+<body class="signin">
+<div class="signinpanel">
+    <div class="row">
+        <div class="col-sm-7">
+            <div class="signin-info">
+                <div class="logopanel m-b">
+                    <h1><img alt="[ lei_wang ]" src="../static/sooka.png" th:src="@{/sooka.png}"></h1>
+                </div>
+                <div class="m-b"></div>
+                <h4>欢迎使用 </h4>
+                <ul class="m-b">
+                    <li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> SpringBoot</li>
+                    <li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Mybatis</li>
+                    <li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Shiro</li>
+                    <li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Thymeleaf</li>
+                    <li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Bootstrap</li>
+                </ul>
+                <strong th:if="${@config.getKey('sys.account.registerUser')}">还没有账号? <a th:href="@{/register}">立即注册&raquo;</a></strong>
+            </div>
         </div>
-        <div class="password_div">
-            <i><img src="../static/syslogin/lydl_5.png" th:src="@{/syslogin/lydl_5.png}"/></i>
-            <input name="password"  placeholder="请输入密码" type="password" />
+        <div class="col-sm-5">
+            <form id="signupForm" autocomplete="off">
+                <h4 class="no-margins">登录:</h4>
+                <input type="text"     name="username" class="form-control uname"     placeholder="用户名" value="admin"    />
+                <input type="password" name="password" class="form-control pword"     placeholder="密码"   value="123456" />
+                <div class="row m-t" th:if="${captchaEnabled==true}">
+                    <div class="col-xs-6">
+                        <input type="text" name="validateCode" class="form-control code" placeholder="验证码" maxlength="5" />
+                    </div>
+                    <div class="col-xs-6">
+                        <a href="javascript:void(0);" title="点击更换验证码">
+                            <img th:src="@{captcha/captchaImage(type=${captchaType})}" class="imgcode" width="85%"/>
+                        </a>
+                    </div>
+                </div>
+                <div class="checkbox-custom" th:classappend="${captchaEnabled==false} ? 'm-t'">
+                    <input type="checkbox" id="rememberme" name="rememberme"> <label for="rememberme">记住我</label>
+                </div>
+                <button class="btn btn-success btn-block" id="btnSubmit" data-loading="正在验证登录,请稍后...">登录</button>
+            </form>
         </div>
-        <div class="yhm_div clearfix">
-            <a class="fl">找回密码</a>
-            <label class="fr"><input type="checkbox" checked/><span>记住用户名</span></label>
+    </div>
+    <div class="signup-footer">
+        <div class="pull-left">
+            &copy; 2020 All Rights Reserved.  <br>
         </div>
-        <button class="dl_dl" id="btnSubmit" data-loading="正在验证登录,请稍后...">登&nbsp;&nbsp;&nbsp;&nbsp;录</button>
-
-    </form>
+    </div>
 </div>
 <script th:inline="javascript"> var ctx = [[@{/}]]; var captchaType = [[${captchaType}]]; </script>
 <!-- 全局js -->
@@ -76,10 +79,5 @@
 <script src="../static/ajax/libs/blockUI/jquery.blockUI.js" th:src="@{/ajax/libs/blockUI/jquery.blockUI.js}"></script>
 <script src="../static/ruoyi/js/ry-ui.js" th:src="@{/ruoyi/js/ry-ui.js}"></script>
 <script src="../static/ruoyi/login.js" th:src="@{/ruoyi/login.js}"></script>
-<script>
-    //setTimeout("$(\"#btnSubmit\").click()",1000)
-</script>
 </body>
-
-
 </html>

+ 5 - 5
leiSP-framework/src/main/java/com/sooka/framework/shiro/service/SysLoginService.java

@@ -23,7 +23,7 @@ import com.sooka.system.service.ISysUserService;
 
 /**
  * 登录校验方法
- * 
+ *
  * @author lei_wang
  */
 @Component
@@ -41,11 +41,11 @@ public class SysLoginService
     public SysUser login(String username, String password)
     {
         // 验证码校验
-        /*if (!StringUtils.isEmpty(ServletUtils.getRequest().getAttribute(ShiroConstants.CURRENT_CAPTCHA)))
+        if (!StringUtils.isEmpty(ServletUtils.getRequest().getAttribute(ShiroConstants.CURRENT_CAPTCHA)))
         {
             AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error")));
             throw new CaptchaException();
-        }*/
+        }
         // 用户名或密码为空 错误
         if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password))
         {
@@ -86,13 +86,13 @@ public class SysLoginService
             AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.not.exists")));
             throw new UserNotExistsException();
         }
-        
+
         if (UserStatus.DELETED.getCode().equals(user.getDelFlag()))
         {
             AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.delete")));
             throw new UserDeleteException();
         }
-        
+
         if (UserStatus.DISABLE.getCode().equals(user.getStatus()))
         {
             AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.blocked", user.getRemark())));

+ 1 - 1
leiSP-framework/src/main/java/com/sooka/framework/shiro/web/filter/captcha/CaptchaValidateFilter.java

@@ -12,7 +12,7 @@ import com.sooka.common.utils.StringUtils;
 
 /**
  * 验证码过滤器
- * 
+ *
  * @author lei_wang
  */
 public class CaptchaValidateFilter extends AccessControlFilter