php项目的index.php文件,项目是原生php写的
程序员文章站
2022-04-26 20:01:19
...
fecaca56a326610b24626b163814a02c '.$_GET['userId'].' '.$_GET['sid'].'
';
$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"]);
}
回复内容:
fecaca56a326610b24626b163814a02c '.$_GET['userId'].' '.$_GET['sid'].'
';
$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
地址.
然后发起请求,
如果请求失败了, 则跳转回首页.
否则再根据请求的结果,决定跳到哪个页面.
fecaca56a326610b24626b163814a02c '.$_GET['userId'].' '.$_GET['sid'].'
';
//默认 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"]);
}
上一篇: html5 worker 实例(二) 图片变换效果_html5教程技巧
下一篇: phpQQ登陆