Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从Sharepoint门户评估推荐人_Php_Iis 7_Sharepoint 2010 - Fatal编程技术网

Php 从Sharepoint门户评估推荐人

Php 从Sharepoint门户评估推荐人,php,iis-7,sharepoint-2010,Php,Iis 7,Sharepoint 2010,我有一个类似于tools.mycompany.com的公司内部网站。现在,它只能从我的本地网络中访问。用户访问此页面的方式是访问我公司的sharepoint intranet,类似于:intranet.mycompany.com。那里有工具页面的链接,用户可以单击。可以从“外部”网络访问intranet站点,但必须提供广告凭据 新的目标是允许“外部”用户访问tools.mycompany.com页面,但只能通过intranet.mycompany.com,因此他们已通过AD认证 我的第一个想法是

我有一个类似于
tools.mycompany.com
的公司内部网站。现在,它只能从我的本地网络中访问。用户访问此页面的方式是访问我公司的sharepoint intranet,类似于:
intranet.mycompany.com
。那里有
工具
页面的链接,用户可以单击。可以从“外部”网络访问intranet站点,但必须提供广告凭据

新的目标是允许“外部”用户访问
tools.mycompany.com
页面,但只能通过
intranet.mycompany.com
,因此他们已通过AD认证

我的第一个想法是评估
$\u服务器['HTTP\u REFERER']
,然后执行以下操作:

($_SERVER['HTTP_REFERER'] != 'intranet.mycompany.com') ? die('Didn't come from Intranet') : '';
但是依赖
$\u服务器['HTTP\u REFERER']
似乎不可靠


是否有其他选项保护我的
tools.mycompany.com
页面不被未经授权的访问?并且不要求经过身份验证的用户重新输入其凭据?

这里有一种方法,您可以实现的安全级别取决于您自己

在页面底部的sharepoint中

<img src="http://tools.mycompany.com/sso/?x=encryptedstring" width="1" height="1" />

关于工具

<?php

    session_start();

    // here is where you could add some security if decrypted $_GET[x] == $_SERVER['REMOTE_ADDR']
    $_SESSION['isLoggedIn'] = 1;

?>


这显然不是最好的方法,但这是一种让sharepoint在“转到intranet”链接中生成令牌的快捷方法。令牌将是一个加密的“是的,这是一个授权点击”类型的消息,PHP端可以对其进行解密。如果解密不正确,则不是授权点击。