我正在编写一个需要与ASP.NET登录集成的PHP脚本(恰好是在Sitecore上构建,不确定是否重要)。我需要复制生成/登录/加密会话的能力。数据cookie,并且还通过检测/解密会话来检测用户是否登录。数据cookie。 PHP和& ASP脚本可以共享相同的MS SQL数据库并且位于同一文件系统上,因此这不是问题。我的大多数问题都只是在PHP中设置/读取ASP cookie。
我有两个由ASP.NET设置的cookie,
ASP.NET_SessionId和.ASPXAUTH
我相信ASP.NET_SessionId显然适用于会话而.ASPXAUTH适用于数据。
我的问题是:
我感谢任何帮助,我会在接下来的几天内为那些最有帮助回答这些问题的人提供答案。
目前,我已经能够通过PHP中的setcookie()重现cookie生成。也就是说,我可以通过ASP.NET应用程序登录,获取cookie数据,将其插入PHP应用程序并通过ASP .NET应用程序注销。对于那些想要哄我的人,我很清楚这是可能的,我不需要解释为什么我这样做,但它涉及很多时间,金钱和理由,所以是的,我确实需要同时使用PHP& ASP.NET。
谢谢!
更新
我相信我能够使用这个答案部分解密cookie:https://stackoverflow.com/a/988018/775586任何人都知道如何完成它?
答案 0 :(得分:2)
我相信,为了知道某人是否已登录(或登录 某人在通过ASP会话,在PHP中,我需要比较一下 任何人都可以使用存储在文件系统上的会话数据 知道这些位于何处(或决定在何处)?
文件系统无处可去。默认情况下,ASP.NET将会话数据存储在应用程序域的内存中。所以你可以简单地忘记从PHP访问这部分内存。您可以选择其他模式,允许您将ASP.NET会话数据存储在proc-of-proc(在专用Windows服务中)或SqlServer中。有关不同ASP.NET会话模式的更多信息,我邀请您阅读following article。
是否有人知道用于加密/解密ASPXAUTH的算法 曲奇饼? IE首先是某种数据阵列然后被盐渍化 哈希?如果是这样,以什么顺序/方式?
它使用FormsAuthentication.Encrypt和Decrypt方法。它们反过来使用您在web / machine.config文件的machineKey部分中定义的任何算法和密钥。有关Forms Authentcation如何在ASP.NET中工作的更多信息,我邀请您阅读following article。
答案 1 :(得分:2)
好的第一个问题......
对于第二个也是更重要的问题: