ShuanghongS 1 ay önce
ebeveyn
işleme
c3aa1b0bdb
1 değiştirilmiş dosya ile 18 ekleme ve 21 silme
  1. 18 21
      service/login.class.php

+ 18 - 21
service/login.class.php

@@ -732,7 +732,7 @@ class login {
                         'data' => $data,
                         'msg' => "Please check with Doc Center $data for searching function"
                     );
-                    common::echo_json_encode(500, $data);
+                    common::echo_json_encode(4002, $data);
                     $this->failedLogin($uname, 'Employee not active');
                     exit();
                 }
@@ -770,7 +770,7 @@ class login {
                             'data' => '',
                             'msg' => 'No activation or insufficient permissions'
                         );
-                        common::echo_json_encode(500, $data);
+                        common::echo_json_encode(4002, $data);
                         $this->failedLogin($uname, 'Online is not active');
                         exit();
                     }
@@ -823,7 +823,7 @@ class login {
                         'data' => '',
                         'msg' => 'Please check with Doc Center for searching function'
                     );
-                    common::echo_json_encode(500, $data);
+                    common::echo_json_encode(4003, $data);
                     $this->failedLogin($uname, 'Online is not active');
                     exit();
                 }
@@ -848,7 +848,7 @@ class login {
                         'user_info' => array("uname"=>$uname),
                         'msg' => 'First login, please change your password'
                     );
-                    common::echo_json_encode(400, $data);
+                    common::echo_json_encode(4001, $data);
                     exit();
                 }
                 
@@ -907,22 +907,17 @@ class login {
                     }
                 }
 
-                $loginName = $rs['user_login'];
-                $email = $rs['email'];
                 //Timeout
                 if ($diffdate > $PASSWORD_CHANGE_CYCLE) {
-                    if(empty($email)){
-                        $data = array(
-                            'status' => '0',
-                            'code' => 'login user email is empty',
-                            'login_version' => $rs["login_version"],
-                            'msg' => 'login user email is empty'
-                        );
-                        common::echo_json_encode(500, $data);
-                        exit();
-                    }else{
-                        $this -> passwordExpires($loginName,$email,$uname);
-                    }
+                    //自动登录这里移除这个邮箱为空的检查
+                    $kln_user_info = array("uname"=>$uname);
+                    $result = array(
+                        'msg' => "passwordExpires",
+                        'uname' => $uname,
+                        'user_info' => $kln_user_info
+                    );
+                    common::echo_json_encode(4001, $result);
+                    exit();
                 }
 
                 //kln新版查询 date_format,numbers_format
@@ -1020,7 +1015,7 @@ class login {
                     $online_user['user_login'] = $uname;
                     $online_user['company'] = $company;
                     $online_user['password'] = "";
-                    if (!_isAdmin()) {
+                    if (!($rs['is_super'] == 't')) {
                         if ($rs["is_only_vgm"] == "t") {//VGM用户写死
                             $sql = "select array_to_string(ARRAY(select url_action from public.ra_online_permission where url_action in ('ocean_order','password','vgm') and menu_id in ('ship','profile') order by order_by asc), ',')";
                             $rrrs = common::excuteOneSql($sql);
@@ -1061,13 +1056,15 @@ class login {
                     $ocean_agent_temp = $online_user['ocean_agent'];
                     $online_user['session_ocean_agent'] = $this->getOriginOrAgent($ocean_agent_temp);
                     
+                    session_start();
+                    //重新登录后,SESSION先注销,在创建
+                    $_SESSION = [];
 
                     $_SESSION['ONLINE_USER'] = $online_user;
                     $_SESSION['LAST_OPERATE_TIME'] = time();
                     $_SESSION['SESSION_TIMEOUT'] = $SESSION_TIMEOUT;
                     
-
-                    //判断是否记录密码  add
+                    //判断是否记录密码
                     if ($_POST['rememberpwd'] === 'true') {
                         if (!$noCheckPwd) {
                             $user_info = $uname . "_" . md5($rs['password']);