ホームページ  >  記事  >  バックエンド開発  >  zend_soap の PHP コードを再パッケージして http 接続セキュリティ認証を実装する_PHP チュートリアル

zend_soap の PHP コードを再パッケージして http 接続セキュリティ認証を実装する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:32:121078ブラウズ

复制代码代码如下:

class MyFramework_Soap_server extends Zend_Soap_Server {
protected $_login = '';
保護された $_password = '';
パブリック関数 __construct($wsdl = null, array $options = null) {
parent::__construct($wsdl,$options);
if(isset($options['login'])){
$this->_login=$options['login'];
$this->_password=$options['パスワード'];
$this->_authenticate();
}
}
プライベート関数 _authenticate(){
$this->setAuthenticate($this->_login,$this->_password);
}
パブリック関数 setHttpLogin($login){
$this->login=$login;
}
パブリック関数 setHttpPassword($password){
$this->_password=$password;
if(isset($this->_login)){
$this->_authenticate();
}
}
public function setAuthenticate($login,$password){
if ($_SERVER['PHP_AUTH_USER']!=$login || $_SERVER['PHP_AUTH_PW']!=$password) {
header('WWW -認証: 基本レルム="MyFramework レルム"');
header('HTTP/1.0 401 Unauthorized');
echo "このリソースにアクセスするには、有効なログイン ID とパスワードを入力する必要があります。n";
終了;
}
}
}
?>

复制代码代码如下:

class Soap_server_test {
public $view = '';
パブリック $params = '';
パブリック $requestObj = '';
パブリック $dbObj = '';
function __construct() {
$this->view = $GLOBALS['view'];
$this->params = $GLOBALS['params'];
$this->requestObj = $GLOBALS['requestObj'];
$this->dbObj = $GLOBALS['dbObj'];
}
関数indexAction(){
if(isset($_GET['wsdl'])) {
$autodiscover = new MyFramework_Soap_AutoDiscover();
$autodiscover->setClass('Model_Service_SoapClassSetTest');
$autodiscover->handle();
終了;
} else {
//$options= array('encoding' => 'UTF-8','login'=>'tangjian','password'=>'123456');
$options= array('encoding' => 'UTF-8');
$soap = new MyFramework_Soap_Server("http://tj.MyFramework.com/default/soap_server_test/index?wsdl",$options);
$soap->setHttpLogin('tangjian');
$soap->setHttpPassword('123456');
$soap->setClass('Model_Service_SoapClassSetTest');
$soap->handle();
終了;
}
}
function clientAction() {
//$options= array('encoding' => 'UTF-8','login'=>'tangjian','password'=>'123456',
// '圧縮' =>SOAP_COMPRESSION_GZIP);
$options= array('encoding' => 'UTF-8',
'compression' =>SOAP_COMPRESSION_GZIP);
$client = new MyFramework_Soap_Client('http://tj.MyFramework.com/default/soap_server_test/index?wsdl',$options);
$client->setHttpLogin('tangjian');
$client->setHttpPassword('123456');
$result=$client->getPass('tang',"man");
print_r($result);
}
}
?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/322857.html技術記事例: ?php class MyFramework_Soap_server extends Zend_Soap_Server { protected $_login = '';保護された $_password = '';パブリック関数 __construct($wsdl = null...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。