【问题标题】:Shared Authentication, Membership & Roles across DNN and ASP.net applications跨 DNN 和 ASP.net 应用程序共享身份验证、成员资格和角色
【发布时间】:2009-05-06 16:54:12
【问题描述】:

这是我的情况。我有一个 DotNetNuke 应用程序。我想从 DNN 网站链接到现有的 ASP.net 网站,并决定为此使用 DNN 的 IFrame。

现有的 ASP.net 应用程序使用表单身份验证来确保安全 - 只有授权用户才能访问页面。这个 asp.net 应用程序还需要用户角色来授权到不同的页面。

我不希望用户必须登录两次,我希望 asp.net 页面使用来自 DNN 应用程序的用户成员资格和角色数据 - 它不应该需要它自己的成员资格数据库。

这可能吗?根据 MSDN 网站:

"ASP.NET 支持分布式环境中的表单身份验证,无论是跨单个服务器上的应用程序还是在 Web 场中。当跨多个 ASP.NET 应用程序启用表单身份验证时,用户在切换时无需重新进行身份验证应用程序之间。”

这是否适用于链接到 asp.net 应用程序的 DotNetNuke 应用程序?两者也在同一个域中。

(我尝试修改 asp.net 页面的 config.web 以使用 DNN config.web,匹配机器密钥和表单设置 - 但它不起作用。我可能做错了什么,但在我之前追求,我想知道这是否可能。)

感谢您的帮助!

【问题讨论】:

    标签: asp.net forms-authentication dotnetnuke single-sign-on


    【解决方案1】:

    我不知道你所说的在 DNN 中是否可行。我们在 DNN 4.0 上,他们对 ASP.NET 成员表做了一些奇怪的事情,这可能会导致麻烦。

    我可以告诉您的是另一种方法(假设您可以控制 ASP.NET 应用程序)。有一个名为MADAM(Mixed Authentication Disposition ASP.NET Modules - 我知道有点拗口)的项目,可用于为应用程序登录提供表单身份验证以外的方法。

    您可以做的是在您的 ASP.NET 应用程序上设置 MADAM,然后从 DNN 将用户凭据传递给 ASP.NET 应用程序。最终结果向用户显示为单点登录。

    如果您需要我详细说明任何事情,请在 cmets 中告诉我。

    【讨论】:

    • 非常有帮助的想法 - 非常感谢!我检查了 MADAM,它看起来就像我正在寻找的那样。我可能会在 IFrame 中让身份验证在 DNN 和 asp.net 之间协同工作方面更加努力......我正在阅读这个链接:blogs.neudesic.com/blogs/michael_morozov/archive/2006/03 /17/72.aspx 它有一些关于单点登录的好信息在不同场景下的两个 .net 应用程序之间。但如果这不起作用,我会和 MADAM 一起去 - 再次感谢您!
    【解决方案2】:

    实际上,我在 dnn 页面上的 iframe 模块中显示了一些 aspx 页面。现在,由于在 iFrame 内部,我正在显示托管在其他地方但在同一服务器上的 aspx 页面。我只想在 iFrame 中加载页面之前验证 dnn 登录用户。

    dnn 是否提供我可以从托管在其他地方的 apsx 页面调用的任何 API,以限制对任何未经授权的用户的访问。

    【讨论】:

      猜你喜欢
      • 2013-09-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-31
      • 2012-02-11
      • 1970-01-01
      • 2015-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多