【问题标题】:Authenticate from external site从外部站点进行身份验证
【发布时间】:2013-03-20 02:52:24
【问题描述】:

首先,我尝试用谷歌搜索我所有的问题,但没有找到我的答案的解决方案。如果会话不存在,我正在尝试使用现有的浏览器会话或进行身份验证。

我有站点 A:https://mysite.com/Login.aspx 这个站点是我尝试使用现有浏览器会话或在不存在会话时进行身份验证的站点

站点 B:http://myinternalsite.com/work.php 这是我正在尝试构建的内部站点,因此我可以针对站点 A 执行某些功能

我首先认为我可以使用 jquery jsonp 发布到我认为我可以做到的站点,但它必须首先经过身份验证,否则站点 A 只会将所有帖子重定向到登录页面。我使用了使用基本 http 身份验证的外部第三方 ui 测试站点来截取我的站点 A 的屏幕截图,但我不确定如何在我的端复制该身份验证过程。

我正在寻找一个方向或示例来让我朝着正确的方向前进,看起来应该很容易,但我从未在 php 中使用过身份验证,所以我迷路了 :(

【问题讨论】:

  • 有些事情让我很困惑...站点 A 使用自己的登录系统还是基本的 HTTP 身份验证?浏览器会话是什么意思?站点 A 上的 PHP 会话或究竟是什么?
  • 据我的开发人员所说,站点 A 正在使用表单身份验证
  • 那你最好把这个问题也标记为 ASP.NET。您很可能需要在 PHP 端使用 curl,但如果您不知道它在站点 A 上的确切发生方式,您将无能为力。

标签: php asp.net http session authentication


【解决方案1】:

我不确定这是否是确切的解决方案,但它可能会引导您找到正确的路径。我有类似的问题。

我有 2 个网站,我想从第二个网站监控网站 1。这意味着我想获取从网站 1 到网站 2 的所有统计数据、在线用户、更新、页面访问等。

为了实现这一点,我在网站 1 中创建了一个 Sender.php 控制器(注意我使用 MVC 框架)。 Sender.php 正在获取上面的所有信息,并使用 cron job 发布到网站 2。

我在网站 2 中有 Reciever.php,上面发布了所有数据。我在 Reciever.php 中要做的就是抓取数据,对其进行清理并作为统计数据显示在屏幕上。

【讨论】:

  • 听起来可以,但唯一的问题是我无权访问站点 A 的源代码:(
【解决方案2】:

不确定你想做什么,但我会给你一个我认为你想做的例子。

网站 1

您的 aspx 表单,向站点 2 发送登录信息或会话信息

站点 2

检索该信息对其进行清理,并根据例如数据库检查该用户是否存在,或者站点 1 发送的用户会话是否已登录。 您可以使用身份验证功能,检查数据库以查看会话或用户是否存在

站点 2

<?php
    $user_is_loggedin = 1; // this should come from database or function check user
    if ($user_is_loggedin == TRUE) {
     echo 1; // return user id, current session stored in database on site2
    } else {
     echo 0;
    }
?>

站点 1: 不知道aspx所以..

if (reponse == FALSE ) {
 //REDIRECT TO LOGIN
} ELSE {
 // Do whatever you would like with that reponse
}

【讨论】:

  • Well site 1 是我们的主要应用程序,用户登录并执行他们的日常功能。我希望站点 2 访问站点 1 的原因是解决站点 1 没有 API 来执行客户端特定任务(即创建用户、建筑物)。所以我试图创建一些简单的东西来帮助我们的内部用户,通过这个内部 php 页面(站点 2)将数据发布到站点 1
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-26
  • 1970-01-01
  • 2014-02-19
  • 2019-05-08
  • 2016-03-24
相关资源
最近更新 更多