服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - PHP教程 - 重新封装zend_soap实现http连接安全认证的php代码

重新封装zend_soap实现http连接安全认证的php代码

2019-11-15 14:18php教程网 PHP教程

重新封装zend_soap实现http连接安全认证,需要的朋友可以参考下。

代码如下:


<?php 
class MyFramework_Soap_server extends Zend_Soap_Server { 
protected $_login = ''; 
protected $_password = ''; 
public function __construct($wsdl = null, array $options = null) { 
parent::__construct($wsdl,$options); 
if(isset($options['login'])){ 
$this->_login=$options['login']; 
$this->_password=$options['password']; 
$this->_authenticate(); 


private function _authenticate(){ 
$this->setAuthenticate($this->_login,$this->_password); 

public function setHttpLogin($login){ 
$this->_login=$login; 

public function 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-Authenticate: Basic realm="MyFramework Realm"'); 
header('HTTP/1.0 401 Unauthorized'); 
echo "You must enter a valid login ID and password to access this resource.\n"; 
exit; 



?> 

 

复制代码代码如下:


<?php 
class Soap_server_test { 
public $view = ''; 
public $params = ''; 
public $requestObj = ''; 
public $dbObj = ''; 
function __construct() { 
$this->view = $GLOBALS['view']; 
$this->params = $GLOBALS['params']; 
$this->requestObj = $GLOBALS['requestObj']; 
$this->dbObj = $GLOBALS['dbObj']; 

function indexAction(){ 
if(isset($_GET['wsdl'])) { 
$autodiscover = new MyFramework_Soap_AutoDiscover(); 
$autodiscover->setClass('Model_Service_SoapClassSetTest'); 
$autodiscover->handle(); 
exit; 
} 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(); 
exit; 


function clientAction() { 
//$options= array('encoding' => 'UTF-8','login'=>'tangjian','password'=>'123456', 
// 'compression' =>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); 


?> 

延伸 · 阅读

精彩推荐
  • PHP教程浅谈PHP无限极分类原理

    浅谈PHP无限极分类原理

    这篇文章主要介绍了PHP无限极分类原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编...

    yangzailu4692019-05-31
  • PHP教程PHP strripos函数用法总结

    PHP strripos函数用法总结

    在本篇文章里小编给大家分享了关于PHP strripos函数用法知识点,有兴趣的朋友们学习下。...

    laozhang2652019-06-18
  • PHP教程Laravel框架实现的rbac权限管理操作示例

    Laravel框架实现的rbac权限管理操作示例

    这篇文章主要介绍了Laravel框架实现的rbac权限管理操作,结合实例形式分析了Laravel框架权限控制rbac相关数据库创建、读写及权限判断等操作技巧,需要的朋友...

    snow_small2812019-07-03
  • PHP教程thinkPHP3.2实现分页自定义样式的方法

    thinkPHP3.2实现分页自定义样式的方法

    这篇文章主要介绍了thinkPHP3.2实现分页自定义样式的方法,结合实例形式分析了thinkPHP3.2针对底层框架代码的修改与使用相关操作技巧,需要的朋友可以参考下...

    谷文杰4712019-10-26
  • PHP教程PHP代码重构方法漫谈

    PHP代码重构方法漫谈

    这篇文章主要介绍了PHP代码重构方法,结合实例形式较为详细的分析了php代码重构的概念、原理、相关实现技巧与注意事项,需要的朋友可以参考下 ...

    PHP群:2234946784482019-10-12
  • PHP教程PHP的mysqli_select_db()函数讲解

    PHP的mysqli_select_db()函数讲解

    今天小编就为大家分享一篇关于PHP的mysqli_select_db()函数讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来...

    php参考手册1812019-06-29
  • PHP教程PHP Array交叉表实现代码

    PHP Array交叉表实现代码

    最近需要做到交叉表,而公司的需求比较复杂,一般的交叉表工具都不适合用 ...

    php教程网2502019-11-06
  • PHP教程PHP缓存工具XCache安装与使用方法详解

    PHP缓存工具XCache安装与使用方法详解

    这篇文章主要介绍了PHP缓存工具XCache安装与使用方法,较为详细的分析了缓存工具XCache在Windows及Linux平台安装与Xcache操作封装类实例,需要的朋友可以参考下...

    巴途Adolph3432019-10-13