Beispiel #1
0
 /**
  * 循环进行 do 的处理
  * 
  */
 function dispatch()
 {
     /**
      * 因为Tq是用Post传递参数过来的,所以不能用$_GET
      */
     $do = empty($_REQUEST["do"]) ? "index" : trim($_REQUEST["do"]);
     /**
      * 这是为了兼容 do=xxx&action=yyy 的形式
      */
     $a = empty($_REQUEST["action"]) ? "" : trim($_REQUEST["action"]);
     if ($a) {
         $do .= "_" . $a;
     }
     /**
      * 获取view的type
      */
     $v = empty($_REQUEST["v"]) ? "Html" : trim($_REQUEST["v"]);
     //TQ任务LINK
     //http://testtpm.transn.net/index.php?do=if_renwu_detail&sj_id=35c55571-80bb-c18b-6078-465a87c329bd&Username=dGVzdC1wcjE=&Password=MjAyY2I5NjJhYzU5MDc1Yjk2NGIwNzE1MmQyMzRiNzA=&pwdway=md5
     /**
      * 获取用户名和密码进行快速登录
      */
     if (r('pwdway')) {
         if (!Pft_Session::getSession()->getUserId()) {
             //这个判断是为了不让TQ登录后,访问此链接时,冲掉session中[是否TQ]那个设置
             $accounts = iconv('GB2312', 'UTF-8', base64_decode(str_replace(' ', '+', r("Username"))));
             $pwd = iconv('GB2312', 'UTF-8', base64_decode(str_replace(' ', '+', r("Password"))));
         }
     } else {
         if (r('login') == 'ok') {
             /**
              * 这是为了兼容TQ的那个点击“查收我的订单”,导致Web重登录的问题。
              * @author terry
              * @version 0.1.0
              * Thu Sep 06 16:44:53 CST 2007
              */
             $accounts = '';
             $pwd = '';
         } else {
             $accounts = r("user_name");
             $pwd = r("user_pw");
         }
     }
     if ($accounts && $pwd) {
         $login_rev = 0;
         $user = TpmYonghuPeer::checkUserLogin($accounts, $pwd, $login_rev);
         if ($login_rev == TpmYonghuPeer::USER_LOGIN_OK) {
             // 用户登陆成功后如果密码安全强度不够,跳转到修改密码页提示用户设置安全的密码
             $pswdChecker = new Tpm_Passwordchecker($pwd);
             $cfgLevel = Pft_Config::getCfg('PSWD_CHECK_LEVEL');
             if ($cfgLevel == '') {
                 $cfgLevel = '0';
             }
             if ($pswdChecker->getSecurityLevel() < $cfgLevel) {
                 $_SESSION['LOW_PASSWORD'] = true;
                 //					header('Location:?do=ps_yonghu_changepwd&nosecurity=true');
                 //					exit;
             }
             Pft_Log::addLog('Login ok, accounts[' . $accounts . ']', Pft_Log::LEVEL_INFO, 'LOGIN_WEB_DIRECT_LOGIN');
         }
     }
     //如密码强度不够, 强制修改密码
     $superDoList = array('ps_yonghu_changepwd', 'login_logout', '');
     // 数组中的Action不在强制之列
     if (@$_SESSION['LOW_PASSWORD'] && !in_array($do, $superDoList)) {
         header('Location:?do=ps_yonghu_changepwd&nosecurity=true');
         exit;
     }
     $i = $this->_maxToDo;
     while ($do != "" && $i-- > 0) {
         $do = $this->processDo($do, $v);
     }
     //如果是渠道代理商客户,传神客户,客户则记录日志 2007-7-9 john
     if (Pft_Session::getSession()->getRoleShortname() == "QDKH" || Pft_Session::getSession()->getRoleShortname() == "CSKH" || Pft_Session::getSession()->getRoleShortname() == "CR") {
         $accessLoger = new Pft_Log_Db('tpm_rizhi_fangwen');
         $accessLoger->log("", 0, $_REQUEST["do"]);
     }
 }
Beispiel #2
0
 /**
  * 返回岗位日志对象
  *
  * @return Pft_Log
  */
 public static final function getGangWeiLogger()
 {
     return Pft_Log_Db::getGwLogger();
 }