这是我的情况。我有一个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,匹配机器密钥和表单设置 - 但它没有用。我可能做错了,但在我之前追求,我想知道它是否可能。)
感谢您的帮助!
答案 0 :(得分:0)
我不知道你在DNN内所讨论的内容是否可行。我们使用的是DNN 4.0,他们使用ASP.NET成员资格表做了一些奇怪的事情,这可能会带来麻烦。
我可以告诉您的另一种方法(假设您可以控制ASP.NET应用程序)。有一个名为MADAM的项目(混合身份验证处理ASP.NET模块 - 我知道有点拗口)可用于提供除应用程序登录的表单身份验证之外的方法。
您可以做的是在ASP.NET应用程序上设置MADAM,并从DNN传递用户凭据到ASP.NET应用程序。最终结果对用户显示为单点登录。
如果您需要我详细说明,请在评论中告诉我。
答案 1 :(得分:0)
实际上我在dnn页面上的iframe模块中显示一些aspx页面。现在,因为在iFrame内部,我正在显示托管在其他地方但在同一服务器上的aspx页面。我只想在加载iFrame中的页面之前验证dnn登录用户。
dnn提供任何我可以从其他地方托管的apsx页面调用的API,以限制对未经授权的用户的访问。