我们正在构建一个ASP.NET MVC 4网站,该网站将显示特定于DotNetNuke登录用户的信息。为了实现这一点,我们将web.config中的机器密钥设置为完全相同,我们还设置<authentication>
config部分以匹配网站以查看DotNetNuke用户的记录来自MVC网站。
有许多如何实现这一目标的例子。这是我们使用的指南:http://msdn.microsoft.com/en-us/library/eb0zx8fc.aspx
但是,这只有在我们在两个DotNetNuke站点或两个非DotNetNuke站点之间建立信任时才有效。如果在DotNetNuke中设置了ASP.NET auth-cookie,我们无法在MVC站点中访问它。登录到DotNetNuke站点,然后浏览到MVC站点,HttpContext.Current.User.Identity.Name为空。
这两个站点在同一台服务器上设置,每个站点在不同的端口下运行。匿名和表单身份验证都在IIS 8中启用,因为它在Windows Server 2012上运行。
以下是在两个站点上设置的web.config值:
MachineKey值:
<machineKey decryption="3DES" decryptionKey="C7DE3391E9E25BC1106BA55B1A86EB825A66A06A2AA720CF" validation="SHA1" validationKey="F41C305583E22214850AD9B2B989588F5045EE2A99EFF68849B81EF154CFF745230F12D4BCFEBB0214BB24F8A6EDB34A9B45BB0849F6CB60E5D23528A69DBBC6" />
认证部分:
<authentication mode="Forms">
<forms timeout="60" cookieless="UseCookies" ticketCompatibilityMode="Framework40" />
</authentication>
任何见解都将受到赞赏。
谢谢!