4

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

现有的 ASP.net 应用程序使用 Forms Authentication 来确保安全 - 只有授权用户才能访问这些页面。这个 asp.net 应用程序还需要用户角色来授权不同的页面。

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

这可能吗?根据 MSDN 网站:

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

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

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

谢谢你的帮助!

4

2 回答 2

0

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

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

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

如果您需要我详细说明任何内容,请在评论中告诉我。

于 2009-05-06T17:17:59.030 回答
0

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

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

于 2010-01-05T09:25:31.913 回答