【问题标题】:How to seamlessly mix ASP.NET and PHP Web applications如何无缝混合 ASP.NET 和 PHP Web 应用程序
【发布时间】:2012-01-02 19:45:42
【问题描述】:

我有两个网站,一个由 ASP.NET 驱动,另一个由 PHP 驱动。 PHP 站点托管在一个相对便宜的主机提供商上(“每月 10 美元的无限带宽和磁盘空间)。 PHP 站点还提供 REST URL,这将帮助我通过我的网站获利。

另一个站点(可以说是“主”站点)是一个包含登录机制的 ASP.NET 网站。我的目标是允许用户登录到 ASP.NET 站点,然后重定向到基于 PHP 的域。有没有简单可行的解决方案可以做到这一点?

我对这种方法有几个问题:

如何将会话信息和变量从 ASP.NET 应用程序传递到基于 PHP 的应用程序,以促进“单点登录”的光环?

“简单”的 cookie 是否能够处理这种情况?还是我需要使用加密的查询字符串?

这些网站上没有“敏感”数据,因此保护用户数据并不是首要任务。该网站是“为了好玩”而建立的。

是否有主机允许子域托管在与主域不同的语言平台上?如果我将 www.example.com 托管在 ASP.NET 服务器上,我是否可以将子域 (forum.example.com) 托管在 PHP 服务器上?这可能吗?

非常感谢您对此的任何帮助。

【问题讨论】:

    标签: php asp.net single-sign-on


    【解决方案1】:

    虽然更复杂,但我会采用与 OpenID 规范相同的方法并使用 Diffie-Hellman 交换。这允许没有事先信任的两方在一段时间内建立信任。

    Info for PHP

    Info for VB.NET

    【讨论】:

      【解决方案2】:

      如果两个站点都在同一个域上,我会选择 cookie。 cookie 优于加密字符串的一个优点是它们会在请求之间自动传递,您在构建 url 时不必考虑它们。 Cookie 的一个缺点是它们可以被用户禁用。

      【讨论】:

        【解决方案3】:

        将会话存储在数据库中并创建/使用跨平台的会话类型。你可能会自己做。但是您应该知道,像这样在不同语言之间传递会话等可能很危险(安全方面)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-08-07
          相关资源
          最近更新 更多