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

<?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/">

<soapenv:Header><aws-auth xmlns="http://services.sdk.actionsoft.com/">fecaca56a326610b24626b163814a02c</aws-auth>

<soapenv:Header/>

<soapenv:Body>

<lev:checkSession>

<userId>'.$_GET['userId'].'</userId>   <sid>'.$_GET['sid'].'</sid>

</lev:checkSession>

</soapenv:Body>

</soapenv:Envelope>';

$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"]);

}

整体流程上来讲, 是从

GET

请求中得到

userId

,

然后检测这个

userId

是否有值, 如果没有值则跳回首页.

如果有值, 则拼出来一个XML结构的东东(应该是调用

WebService

),

然后再根据是否有定义

SSO_SESSION_SERVER

决定使用默认的,还是定义好的

SessionService

地址.

然后发起请求,

如果请求失败了, 则跳转回首页.

否则再根据请求的结果,决定跳到哪个页面.

<?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/">

<soapenv:Header><aws-auth xmlns="http://services.sdk.actionsoft.com/">fecaca56a326610b24626b163814a02c</aws-auth>

<soapenv:Header/>

<soapenv:Body>

<lev:checkSession>

<userId>'.$_GET['userId'].'</userId>   <sid>'.$_GET['sid'].'</sid>

</lev:checkSession>

</soapenv:Body>

</soapenv:Envelope>';

//默认 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"]);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值