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

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

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

这可能吗?根据MSDN网站:

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

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

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

感谢您的帮助!

有帮助吗?

解决方案

我不知道你在DNN内所讨论的内容是否可行。我们使用的是DNN 4.0,他们使用ASP.NET成员资格表做了一些奇怪的事情,这可能会带来麻烦。

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

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

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

其他提示

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top