使用备用堆栈模拟具有密钥的ASP.NET会话 更新2

使用备用堆栈模拟具有密钥的ASP.NET会话 更新2,asp.net,session,Asp.net,Session,通过查看.NET源代码,我能够找到一些有用的信息,但最终看来,在截止日期前进行反向工程似乎需要很长时间,因此我选择使用第一种选择,即让web服务为我生成.ASPXAUTH cookie。我在下面找到了几个更有用的链接,以防有人想从零开始研究如何生成自己的cookie。感谢所有回复的人 链接 更新1 我能从中找到来源。看起来setauthcookie的源代码包含在此源代码中。我会看看我是否能从查看中找出如何生成cookie 原职 我看到另一个帖子[1]中有一个可能类似的问题,但我无法从措辞

通过查看.NET源代码,我能够找到一些有用的信息,但最终看来,在截止日期前进行反向工程似乎需要很长时间,因此我选择使用第一种选择,即让web服务为我生成.ASPXAUTH cookie。我在下面找到了几个更有用的链接,以防有人想从零开始研究如何生成自己的cookie。感谢所有回复的人

链接
更新1 我能从中找到来源。看起来setauthcookie的源代码包含在此源代码中。我会看看我是否能从查看中找出如何生成cookie

原职 我看到另一个帖子[1]中有一个可能类似的问题,但我无法从措辞上准确地说出海报想要什么,所以我自己写了

我有一个用ASP.NET编写的web应用程序,并引入了另一种语言/堆栈(我们称之为RoR),对网站的某些功能进行了改造。由于.NET是第一个,所有会话优先级都围绕使用身份验证票证(cookie中的ASPXAUTH字段)来验证用户是否经过身份验证。这个字段是在许多ASP站点中生成的,用于处理会话,我不能不使用它来解决问题

这通常不会是一个问题,但我希望用户能够使用RoR页面登录站点,并能够在整个站点上保留身份验证状态,而不管他们是访问ASPX页面还是RoR页面。所以,我觉得我有两个选择:

  • 使用SetAuthCookie()创建一些RoR请求的.NET webservice,以便从machinekey[2]生成适当的令牌(cookie的ASPXAUTH数据),或
  • 找到一种方法让RoR模拟.NET用于生成令牌的任何方法,这样我就可以在cookie中设置值,而不必在用户访问ASPX页面时重新验证用户
  • 第二个更好,但在谷歌上搜索了3-4个小时后,我找不到任何关于如何做到这一点的信息,现在这里有人知道如何做到第二个吗?否则,我会选择前者或尝试其他方法。提前感谢您的建议、意见或我尚未考虑的备选方案

    [1]
    [2] ASP.NET设置授权cookie。您还可以创建自己的安全cookie,您可以将其与ASP.NET cookie一起设置(只需劫持登录代码)。然后,您可以访问此cookie以检查用户是否已登录。

    ASP.NET设置授权cookie。您还可以创建自己的安全cookie,您可以将其与ASP.NET cookie一起设置(只需劫持登录代码)。然后,您可以访问此cookie以检查用户是否已登录。

    这不是一个完整的答案,因此请不要太苛刻,但它也不是一个注释,因此如下所示:

    您是如何托管RoR内容的,您是在IIS下使用它还是以其他方式使用它

    如果两个内容都可以从IIS中的同一个站点/虚拟目录运行,并通过全局ASP处理程序使用身份验证,然后将查询传递给正确的处理程序,我将研究什么


    可以制作一个捕获所有流量的通用处理程序,您可以通过这种方式实现身份验证;这一机制取决于您使用的IIs版本以及RoR内容的提供方式。

    这不是一个完整的答案,因此请不要太苛刻,但也不是一个评论,因此如下所示:

    您是如何托管RoR内容的,您是在IIS下使用它还是以其他方式使用它

    如果两个内容都可以从IIS中的同一个站点/虚拟目录运行,并通过全局ASP处理程序使用身份验证,然后将查询传递给正确的处理程序,我将研究什么


    可以制作一个捕获所有流量的通用处理程序,您可以通过这种方式实现身份验证;这一机制取决于您使用的IIs版本以及RoR内容的提供方式。

    我怀疑[1]会有帮助,因为他在两年内没有得到答案!在我的工作中,我为一个使用SetAuthCookie的MVC项目创建了一个自定义身份验证提供程序;等我回去工作的时候,我看看能不能把源代码给你。谢谢,@RussC!我刚刚更新了我的发现。我想我将使用.NETWebService进行登录/注册,该服务将由备用堆栈调用。我想我还将在该Web服务中生成.ASPXAUTH会话,并在响应中传回。如果我遇到任何相关的问题,最好看看代码。我怀疑[1]会有帮助,因为他在两年内没有得到答案!在我的工作中,我为一个使用SetAuthCookie的MVC项目创建了一个自定义身份验证提供程序;等我回去工作的时候,我看看能不能把源代码给你。谢谢,@RussC!我刚刚更新了我的发现。我想我将使用.NETWebService进行登录/注册,该服务将由备用堆栈调用。我想我还将在该Web服务中生成.ASPXAUTH会话,并在响应中传回。如果我遇到任何相关的问题,最好能看到代码。但是如果第一次访问该站点是一个Ruby生成的页面呢?没有cookie。您可以创建一些web服务(最好是wcf),Ruby可以访问这些web服务来向.NET代码传递授权。@fenix2222,这就是数字1的含义。我可能会这样做,但我想知道我是否可以改为做第二个(这意味着在登录时完全使用RoR设置cookie,而不使用.NET)。但是,如果该站点的第一个点击是一个Ruby生成的页面,该怎么办?没有cookie。您可以创建一些web服务(最好是wcf),Ruby可以访问这些web服务来向.NET代码传递授权。@fenix2222,这就是数字1的含义。我可能会这样做,但我试图弄清楚我是否可以改为做第二个(这意味着在登录时完全使用RoR设置cookie)