Heim > Backend-Entwicklung > PHP-Tutorial > php项目的index.php文件,项目是原生php写的

php项目的index.php文件,项目是原生php写的

WBOY
Freigeben: 2016-06-06 20:20:29
Original
2000 Leute haben es durchsucht

<code><?php require( dirname(__FILE__) . '/config.php' );

global $GLOBAL_SYSTEM;


if(isset($_GET['userId']) && $_GET['userId'] != ""){
    $user_name = $_GET['userId'];
    $param = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:lev="http://session.level1.services.sdk.actionsoft.com/">
   <header><aws-auth xmlns="http://services.sdk.actionsoft.com/">fecaca56a326610b24626b163814a02c</aws-auth>
<header></header>
   <body>
      <checksession>
         <userid>'.$_GET['userId'].'</userid>   <sid>'.$_GET['sid'].'</sid>
      </checksession>
   </body>
';

    
    $sessionServer = "http://mzwa-123.6655.la:8090/services/SessionService";
    if(defined('SSO_SESSION_SERVER')){
        $sessionServer = SSO_SESSION_SERVER;
    }
    
    $securityServer = "http://mzwa-123.6655.la:8090/services/SecurityService";
    if(defined('SSO_SECURITY_SERVER')){
        $securityServer = SSO_SECURITY_SERVER;
    }
    
    $xmls = fetch($sessionServer, $param);
    
    if($xmls === false){
        sd_redirect($GLOBAL_SYSTEM[PRODUCT_TYPE]["index"]);
    }
    
    $xml_values = "";
    
    $parser = xml_parser_create('UTF-8');
    xml_parse_into_struct($parser, trim($xmls), $xml_values);
    xml_parser_free($parser);

    
    foreach ($xml_values as $value){
        if($value['tag'] == "RETURN"){
            if($value['value'] == 'false'){
                sd_redirect($GLOBAL_SYSTEM[PRODUCT_TYPE]["index"]);
            }elseif($value['value'] == 'true'){
                $user = &sd_get_user($user_name);
                if (!empty($user) ) {
                    $result = login_without_pwd_verify($user);
                    $_SESSION["user"] = $user_name;
                    if ($_SESSION["role"] == UserDao::$ROLE_CLOUD_USER) {
                        if (I2System::isI2Cloud()){
                            sd_redirect("cloud/home.php");
                        }else{
                            sd_redirect($GLOBAL_SYSTEM[PRODUCT_TYPE]["index"]);
                        }
                    } else {
                        sd_redirect("i2/home.php");
                    }
                }
            }
            break;
        }
    }
}else{
    sd_redirect($GLOBAL_SYSTEM[PRODUCT_TYPE]["index"]."?".$_SERVER["QUERY_STRING"]);
}</header></code>
Nach dem Login kopieren
Nach dem Login kopieren

回复内容:

<code><?php require( dirname(__FILE__) . '/config.php' );

global $GLOBAL_SYSTEM;


if(isset($_GET['userId']) && $_GET['userId'] != ""){
    $user_name = $_GET['userId'];
    $param = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:lev="http://session.level1.services.sdk.actionsoft.com/">
   <header><aws-auth xmlns="http://services.sdk.actionsoft.com/">fecaca56a326610b24626b163814a02c</aws-auth>
<header></header>
   <body>
      <checksession>
         <userid>'.$_GET['userId'].'</userid>   <sid>'.$_GET['sid'].'</sid>
      </checksession>
   </body>
';

    
    $sessionServer = "http://mzwa-123.6655.la:8090/services/SessionService";
    if(defined('SSO_SESSION_SERVER')){
        $sessionServer = SSO_SESSION_SERVER;
    }
    
    $securityServer = "http://mzwa-123.6655.la:8090/services/SecurityService";
    if(defined('SSO_SECURITY_SERVER')){
        $securityServer = SSO_SECURITY_SERVER;
    }
    
    $xmls = fetch($sessionServer, $param);
    
    if($xmls === false){
        sd_redirect($GLOBAL_SYSTEM[PRODUCT_TYPE]["index"]);
    }
    
    $xml_values = "";
    
    $parser = xml_parser_create('UTF-8');
    xml_parse_into_struct($parser, trim($xmls), $xml_values);
    xml_parser_free($parser);

    
    foreach ($xml_values as $value){
        if($value['tag'] == "RETURN"){
            if($value['value'] == 'false'){
                sd_redirect($GLOBAL_SYSTEM[PRODUCT_TYPE]["index"]);
            }elseif($value['value'] == 'true'){
                $user = &sd_get_user($user_name);
                if (!empty($user) ) {
                    $result = login_without_pwd_verify($user);
                    $_SESSION["user"] = $user_name;
                    if ($_SESSION["role"] == UserDao::$ROLE_CLOUD_USER) {
                        if (I2System::isI2Cloud()){
                            sd_redirect("cloud/home.php");
                        }else{
                            sd_redirect($GLOBAL_SYSTEM[PRODUCT_TYPE]["index"]);
                        }
                    } else {
                        sd_redirect("i2/home.php");
                    }
                }
            }
            break;
        }
    }
}else{
    sd_redirect($GLOBAL_SYSTEM[PRODUCT_TYPE]["index"]."?".$_SERVER["QUERY_STRING"]);
}</header></code>
Nach dem Login kopieren
Nach dem Login kopieren

整体流程上来讲, 是从GET请求中得到 userId,
然后检测这个userId是否有值, 如果没有值则跳回首页.
如果有值, 则拼出来一个XML结构的东东(应该是调用 WebService),
然后再根据是否有定义 SSO_SESSION_SERVER 决定使用默认的,还是定义好的 SessionService 地址.
然后发起请求,
如果请求失败了, 则跳转回首页.
否则再根据请求的结果,决定跳到哪个页面.

<code class="php"><?php //应该是引入配置文件
require( dirname(__FILE__) . '/config.php' );

global $GLOBAL_SYSTEM;


//检测是否有通过 GET 方式传递过来 userId
if(isset($_GET['userId']) && $_GET['userId'] != ""){//如果有传,则if条件成立
    $user_name = $_GET['userId'];//得到传递过来的 userId
    //拼出来XML
    $param = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:lev="http://session.level1.services.sdk.actionsoft.com/">
   <header><aws-auth xmlns="http://services.sdk.actionsoft.com/">fecaca56a326610b24626b163814a02c</aws-auth>
<header></header>
   <body>
      <checksession>
         <userid>'.$_GET['userId'].'</userid>   <sid>'.$_GET['sid'].'</sid>
      </checksession>
   </body>
';

    //默认 sessionServer 的地址
    $sessionServer = "http://mzwa-123.6655.la:8090/services/SessionService";
    //如果有定义 SSO_SESSION_SERVER 的常量
    if(defined('SSO_SESSION_SERVER')){//则更新 $sessionServer 的值为 SSO_SESSION_SERVER 的值
        $sessionServer = SSO_SESSION_SERVER;
    }
    
    //这里的代码没地方用, 所以就加注释了
    $securityServer = "http://mzwa-123.6655.la:8090/services/SecurityService";
    if(defined('SSO_SECURITY_SERVER')){
        $securityServer = SSO_SECURITY_SERVER;
    }
    
    //应该是发起一个HTTP请求
    $xmls = fetch($sessionServer, $param);
    
    //如果请求失败了
    if($xmls === false){
        //跳到某个页面(应该是首页什么的)
        sd_redirect($GLOBAL_SYSTEM[PRODUCT_TYPE]["index"]);
    }
    
    $xml_values = "";
    
    //解析请求回来的内容
    $parser = xml_parser_create('UTF-8');
    xml_parse_into_struct($parser, trim($xmls), $xml_values);
    xml_parser_free($parser);

    //遍历得到的XML文件
    foreach ($xml_values as $value){
        if($value['tag'] == "RETURN"){//如果数据中的 tag 等于 RETURN
            if($value['value'] == 'false'){//数据中的 value 为 false 时
                sd_redirect($GLOBAL_SYSTEM[PRODUCT_TYPE]["index"]);//跳到某个页面
            }elseif($value['value'] == 'true'){//为 true 时
                $user = &sd_get_user($user_name);//再调用某个方法(传递最上面得到的 userId 过去)
                if (!empty($user) ) {//如果 sd_get_user 的返回值不是空的
                    $result = login_without_pwd_verify($user);//再调用某个方法, 传递 上面的返回值过去
                    $_SESSION["user"] = $user_name;
                    if ($_SESSION["role"] == UserDao::$ROLE_CLOUD_USER) {//再判断
                        if (I2System::isI2Cloud()){//再判断...
                            sd_redirect("cloud/home.php");//条件成立时跳这里
                        }else{
                            sd_redirect($GLOBAL_SYSTEM[PRODUCT_TYPE]["index"]);//不成立时跳这里
                        }
                    } else {//if不成立时跳这里
                        sd_redirect("i2/home.php");
                    }
                }
            }
            break;
        }
    }
}else{
    //没有 userId 时,跳这里...
    sd_redirect($GLOBAL_SYSTEM[PRODUCT_TYPE]["index"]."?".$_SERVER["QUERY_STRING"]);
}</header></code>
Nach dem Login kopieren
Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage