【问题标题】:ASP / PHP shared encryptionASP/PHP 共享加密
【发布时间】:2012-06-05 19:42:46
【问题描述】:

在这里需要一些建议!我目前正在开展一个项目,在该项目中,代理商和客户都可以登录到“仪表板”。然而,所有的客户端仪表板都是用 PHP 创建的,而代理的东西是在 ASP.Net 中创建的(甚至不要问!)。但是,我需要代理机构执行以下操作的功能:

  • 代理登录。
  • 机构点击查看客户链接
  • 代理会自动登录到客户端 UI 并查看客户端页面。

显然这很难在 ASP.NET 和 PHP 之间进行身份验证!不过,我想出了以下解决方案 - 这行得通吗?

  • 机构点击查看客户端。
  • ASP.NET 使用密钥对一些重要信息以及时间戳进行加密。
  • ASP 将此请求发布到 PHP 页面
  • PHP 使用密钥解密,检查用户是否存在于 DB 中,并检查该机构是否有权查看所请求的客户端页面。还会检查时间戳是否在 10 秒内。
  • 如果以上都OK,那么代理就登录到PHP并看到客户端页面。

你的想法是什么?

对于 ASP/PHP 来说,最好的加密方法是什么?

谢谢,

戴夫

【问题讨论】:

  • 是同一个cookie域吗?

标签: php asp.net encryption login


【解决方案1】:

您要做的是构建单点登录 (SSO) 平台。创建您自己的身份提供程序,然后迁移两个应用程序以对其进行身份验证。

Here is a Zend Webinar with some information to get you started.

【讨论】:

  • +1 用于 SSO,这将让您的应用程序无需担心独立地验证 SSO。
  • 我们已经有了 Janrain Engage 形式的某种 SSO,但我看不出这将如何在两种语言之间安全地传递身份验证?
  • 您不需要在两种语言之间传递身份验证,您通过 SSO 进行身份验证。
  • 对不起,我不太明白! (所有这些 SSO 的新东西!)。那么,假设用户登录了代理页面并点击了客户链接,那么客户页面如何知道他们已登录?
  • 说一切都使用 facebook 进行 SSO。用户登录代理页面,该页面对他进行身份验证并将他登录到 Facebook。如果他进入客户端页面,该页面会看到他已登录 facebook,并且不会请求他登录。如果用户退出 facebook,他们将无法登录客户端或用户页面。从某种意义上说,它是从 facebook cookie 中捎带身份验证。
【解决方案2】:

我会通过TLS 进行所有这些交流,因为自己很难正确编写这些内容。如果您通过 TLS 发送所有数据,则不必担心自己进行任何加密。您可以只使用您描述的基本方案,但对加密数据通道使用 TLS。

【讨论】:

    猜你喜欢
    • 2011-04-06
    • 2012-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-24
    • 1970-01-01
    相关资源
    最近更新 更多