亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? saml.php

?? zend的加強(qiáng)包 zend的加強(qiáng)包
?? PHP
字號:
<?php/** * Zend Framework * * LICENSE * * This source file is subject to the new BSD license that is bundled * with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://framework.zend.com/license/new-bsd * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@zend.com so we can send you a copy immediately. * * @category   Zend * @package    Zend_InfoCard * @subpackage Zend_InfoCard_Xml * @copyright  Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com) * @license    http://framework.zend.com/license/new-bsd     New BSD License * @version    $Id: Saml.php 8064 2008-02-16 10:58:39Z thomas $ * @author     John Coggeshall <john@zend.com> *//** * Zend_InfoCard_Xml_Element */require_once 'Zend/InfoCard/Xml/Element.php';/** * Zend_InfoCard_Xml_Assertion_Interface */require_once 'Zend/InfoCard/Xml/Assertion/Interface.php';/** * A Xml Assertion Document in SAML Token format * * @category   Zend * @package    Zend_InfoCard * @subpackage Zend_InfoCard_Xml * @copyright  Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com) * @license    http://framework.zend.com/license/new-bsd     New BSD License * @author     John Coggeshall <john@zend.com> */class Zend_InfoCard_Xml_Assertion_Saml    extends Zend_InfoCard_Xml_Element    implements Zend_InfoCard_Xml_Assertion_Interface{    /**     * Audience Restriction Condition     */    const CONDITION_AUDIENCE = 'AudienceRestrictionCondition';    /**     * The URI for a 'bearer' confirmation     */    const CONFIRMATION_BEARER = 'urn:oasis:names:tc:SAML:1.0:cm:bearer';    /**     * The amount of time in seconds to buffer when checking conditions to ensure     * that differences between client/server clocks don't interfer too much     */    const CONDITION_TIME_ADJ = 3600; // +- 5 minutes    protected function _getServerName() {        return $_SERVER['SERVER_NAME'];    }    protected function _getServerPort() {        return $_SERVER['SERVER_PORT'];    }    /**     * Validate the conditions array returned from the getConditions() call     *     * @param array $conditions An array of condtions for the assertion taken from getConditions()     * @return mixed Boolean true on success, an array of condition, error message on failure     */    public function validateConditions(Array $conditions)    {        $currentTime = time();        if(!empty($conditions)) {            foreach($conditions as $condition => $conditionValue) {                switch(strtolower($condition)) {                    case 'audiencerestrictioncondition':                        $serverName = $this->_getServerName();                        $serverPort = $this->_getServerPort();                        $self_aliases[] = $serverName;                        $self_aliases[] = "{{$serverName}:{$serverPort}";                        $found = false;                        if(is_array($conditionValue)) {                            foreach($conditionValue as $audience) {                                list(,,$audience) = explode('/', $audience);                                if(in_array($audience, $self_aliases)) {                                    $found = true;                                    break;                                }                            }                        }                        if(!$found) {                            return array($condition, 'Could not find self in allowed audience list');                        }                        break;                    case 'notbefore':                        $notbeforetime = strtotime($conditionValue);                        if($currentTime < $notbeforetime) {                            if($currentTime + self::CONDITION_TIME_ADJ < $notbeforetime) {                                return array($condition, 'Current time is before specified window');                            }                        }                        break;                    case 'notonorafter':                        $notonoraftertime = strtotime($conditionValue);                        if($currentTime >= $notonoraftertime) {                            if($currentTime - self::CONDITION_TIME_ADJ >= $notonoraftertime) {                                return array($condition, 'Current time is after specified window');                            }                        }                        break;                }            }        }        return true;    }    /**     * Get the Assertion URI for this type of Assertion     *     * @return string the Assertion URI     */    public function getAssertionURI()    {        return Zend_InfoCard_Xml_Assertion::TYPE_SAML;    }    /**     * Get the Major Version of the SAML Assertion     *     * @return integer The major version number     */    public function getMajorVersion()    {        return (int)(string)$this['MajorVersion'];    }    /**     * The Minor Version of the SAML Assertion     *     * @return integer The minor version number     */    public function getMinorVersion()    {        return (int)(string)$this['MinorVersion'];    }    /**     * Get the Assertion ID of the assertion     *     * @return string The Assertion ID     */    public function getAssertionID()    {        return (string)$this['AssertionID'];    }    /**     * Get the Issuer URI of the assertion     *     * @return string the URI of the assertion Issuer     */    public function getIssuer()    {        return (string)$this['Issuer'];    }    /**     * Get the Timestamp of when the assertion was issued     *     * @return integer a UNIX timestamp representing when the assertion was issued     */    public function getIssuedTimestamp()    {        return strtotime((string)$this['IssueInstant']);    }    /**     * Return an array of conditions which the assertions are predicated on     *     * @throws Zend_InfoCard_Xml_Exception     * @return array an array of conditions     */    public function getConditions()    {        list($conditions) = $this->xpath("//saml:Conditions");        if(!($conditions instanceof Zend_InfoCard_Xml_Element)) {            throw new Zend_InfoCard_Xml_Exception("Unable to find the saml:Conditions block");        }        $retval = array();        foreach($conditions->children('urn:oasis:names:tc:SAML:1.0:assertion') as $key => $value) {            switch($key) {                case self::CONDITION_AUDIENCE:                    foreach($value->children('urn:oasis:names:tc:SAML:1.0:assertion') as $audience_key => $audience_value) {                        if($audience_key == 'Audience') {                            $retval[$key][] = (string)$audience_value;                        }                    }                    break;            }        }        $retval['NotBefore'] = (string)$conditions['NotBefore'];        $retval['NotOnOrAfter'] = (string)$conditions['NotOnOrAfter'];        return $retval;    }    /**     * Get they KeyInfo element for the Subject KeyInfo block     *     * @todo Not Yet Implemented     * @ignore     */    public function getSubjectKeyInfo()    {        /**         * @todo Not sure if this is part of the scope for now..         */        if($this->getConfirmationMethod() == self::CONFIRMATION_BEARER) {            throw new Zend_InfoCard_Xml_Exception("Cannot get Subject Key Info when Confirmation Method was Bearer");        }    }    /**     * Return the Confirmation Method URI used in the Assertion     *     * @return string The confirmation method URI     */    public function getConfirmationMethod()    {        list($confirmation) = $this->xPath("//saml:ConfirmationMethod");        return (string)$confirmation;    }    /**     * Return an array of attributes (claims) contained within the assertion     *     * @return array An array of attributes / claims within the assertion     */    public function getAttributes()    {        $attributes = $this->xPath('//saml:Attribute');        $retval = array();        foreach($attributes as $key => $value) {            $retkey = (string)$value['AttributeNamespace'].'/'.(string)$value['AttributeName'];            $retval[$retkey]['name'] = (string)$value['AttributeName'];            $retval[$retkey]['namespace'] = (string)$value['AttributeNamespace'];            list($aValue) = $value->children('urn:oasis:names:tc:SAML:1.0:assertion');            $retval[$retkey]['value'] = (string)$aValue;        }        return $retval;    }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日产欧产精品推荐色| 91国偷自产一区二区开放时间| 欧美日本精品一区二区三区| 亚洲国产乱码最新视频| 在线看日韩精品电影| 午夜视频一区二区三区| 制服丝袜在线91| 久草热8精品视频在线观看| wwwwxxxxx欧美| 成人av网在线| 亚洲一二三四在线| 欧美一区二区三区免费大片| 久久精品国产亚洲高清剧情介绍| 91精品国产欧美一区二区成人| 美女视频黄免费的久久 | 色综合网站在线| 午夜在线成人av| 2023国产精品自拍| 成人免费视频app| 亚洲在线观看免费视频| 91精品国产免费久久综合| 久久99蜜桃精品| 国产精品高清亚洲| 9191成人精品久久| 国产成人av一区二区| 亚洲在线成人精品| 欧美成人一区二区三区在线观看 | 成人综合婷婷国产精品久久蜜臀| 亚洲欧洲精品成人久久奇米网| 欧美日韩你懂得| 国产精品影视在线| 午夜精品福利在线| 国产欧美一区二区三区在线看蜜臀| 不卡一二三区首页| 日本不卡视频在线观看| 国产精品白丝在线| 欧美一区二区国产| 91香蕉视频黄| 久久99精品国产.久久久久 | 国产精品天美传媒沈樵| 欧美丝袜第三区| 国产91对白在线观看九色| 亚洲成人精品一区二区| 国产精品三级av| 精品国产三级电影在线观看| 日本电影亚洲天堂一区| 国产精品一区2区| 日韩国产在线一| 1024亚洲合集| 久久久久高清精品| 91精品在线免费| 色综合久久久久综合体| 国产高清视频一区| 蜜臀av性久久久久蜜臀aⅴ| 国产福利一区二区| 日本欧美一区二区在线观看| 亚洲人成影院在线观看| 久久九九久久九九| 日韩女优av电影| 欧美系列日韩一区| 97久久超碰精品国产| 国产福利一区二区三区| 精品亚洲国内自在自线福利| 亚洲成av人片一区二区梦乃| 亚洲人成影院在线观看| 亚洲欧美在线视频| 日本一区二区在线不卡| 久久久亚洲精品石原莉奈| 日韩三级免费观看| 在线播放日韩导航| 欧美日产在线观看| 欧美日本视频在线| 欧美日韩国产综合一区二区三区| 91丨九色丨蝌蚪富婆spa| 北条麻妃一区二区三区| 国产69精品一区二区亚洲孕妇| 国产一区二区三区免费看| 老鸭窝一区二区久久精品| 日韩在线观看一区二区| 亚洲成av人**亚洲成av**| 亚洲电影第三页| 欧美影片第一页| 色婷婷综合久久久久中文 | 人人精品人人爱| 免费欧美高清视频| 久久激情五月激情| 极品美女销魂一区二区三区| 狠狠色狠狠色综合| 国产精品伊人色| av不卡免费电影| 色综合一区二区三区| 欧美在线观看一区二区| 欧美区视频在线观看| 4438x成人网最大色成网站| 日韩欧美的一区| 久久久久国产一区二区三区四区| 国产欧美精品区一区二区三区| 国产欧美一区二区三区在线老狼| 国产精品美女久久久久久| 国产精品入口麻豆九色| 亚洲欧美电影院| 日韩精品一级二级 | 国产精品网站在线观看| 亚洲精品中文字幕乱码三区| 午夜久久久久久久久 | 国产精品综合在线视频| 99视频精品全部免费在线| 欧洲一区二区三区在线| 日韩欧美成人午夜| 国产精品国产馆在线真实露脸| 亚洲精品成人少妇| 激情五月激情综合网| 99久久99久久免费精品蜜臀| 欧美日韩国产美女| 久久婷婷成人综合色| 亚洲同性同志一二三专区| 视频一区中文字幕| 国产福利一区二区三区视频在线 | 韩国三级在线一区| 99久久婷婷国产综合精品 | 欧洲亚洲精品在线| 久久色视频免费观看| 1区2区3区欧美| 日韩成人一级片| 99re热这里只有精品免费视频| 欧美精三区欧美精三区| 国产精品午夜在线观看| 蜜臀av亚洲一区中文字幕| 91在线观看污| 久久影院午夜论| 天天射综合影视| 一本色道a无线码一区v| 久久久一区二区| 五月天中文字幕一区二区| 99久久国产综合精品色伊| 欧美va亚洲va香蕉在线| 亚洲午夜精品一区二区三区他趣| 国产美女一区二区| 日韩欧美一区在线观看| 亚洲小少妇裸体bbw| 成人黄动漫网站免费app| 精品va天堂亚洲国产| 五月天视频一区| 在线视频一区二区三| 中文字幕av资源一区| 美女网站一区二区| 欧美日韩午夜影院| 日韩伦理av电影| 另类的小说在线视频另类成人小视频在线 | 国产精品系列在线| 最新久久zyz资源站| 国产宾馆实践打屁股91| 欧美日韩国产一级片| 1000部国产精品成人观看| 夜夜揉揉日日人人青青一国产精品| 国产成人午夜99999| 7777精品伊人久久久大香线蕉的 | 亚洲成人在线观看视频| 成人app软件下载大全免费| 精品免费视频.| 午夜一区二区三区在线观看| 99精品视频在线观看免费| 亚洲精品在线观看网站| 亚洲综合丝袜美腿| 成人免费福利片| 久久婷婷国产综合国色天香 | 欧美日韩免费观看一区二区三区| 国产喂奶挤奶一区二区三区| 国产在线观看一区二区| 日韩欧美美女一区二区三区| 偷拍一区二区三区四区| 91麻豆免费视频| 一区二区三区资源| 91热门视频在线观看| 国产精品久久久爽爽爽麻豆色哟哟| 久久国产精品一区二区| 久久婷婷一区二区三区| 国产主播一区二区三区| 日韩精品最新网址| 老司机精品视频一区二区三区| 日韩欧美一级二级三级| 青草av.久久免费一区| 欧美精品三级在线观看| 五月天婷婷综合| 69堂国产成人免费视频| 亚洲一级电影视频| 欧美三级一区二区| 香蕉成人啪国产精品视频综合网| 欧美婷婷六月丁香综合色| 国产精品蜜臀av| 欧美日韩一区二区欧美激情| 亚洲成人免费视频| 欧美一区三区二区| 久久精品99国产精品| 欧美精品一区二区三区高清aⅴ| 国内精品免费**视频| 久久精品视频一区二区三区| 91免费观看视频在线| 亚洲国产另类av| 日韩免费高清av|