【发布时间】:2012-06-24 06:36:14
【问题描述】:
更新 2
通过查看 .NET 源代码,我能够找到一些有用的信息,但最终似乎在截止日期之前进行逆向工程需要太长时间,所以我选择使用第一个选项让网络服务为我生成 .ASPXAUTH cookie。我在下面找到了一些更有用的链接,以防有人想更多地从头开始生成自己的 cookie。感谢所有回复的人!
链接
更新 1
我能够从.netlibrarysource 找到源代码。看起来 setauthcookie 的源代码包含在此源代码中。我会看看我是否可以通过查看它来弄清楚如何生成 cookie。
原帖
我看到另一个帖子 [1] 可能有类似的问题,但我无法从措辞中确切地看出张贴者想要什么,所以我正在写自己的。
我有一个用 ASP.NET 编写的 Web 应用程序,并引入了另一种语言/堆栈(我们会说 RoR)来对网站的某些功能进行整容。由于 .NET 是第一个,所有会话优先级都围绕使用身份验证票证(cookie 中的 ASPXAUTH 字段)来验证用户是否经过身份验证。这个字段是在许多 ASP 站点中生成的,用于处理会话,我无法通过 not 使用它。
这通常不会有问题,但我希望用户能够使用 RoR 页面登录网站,并能够在整个网站上保留身份验证状态,无论他们访问的是 ASPX 页面还是 RoR 页面.所以,我觉得我有两个选择:
- 创建一些 .NET Web 服务,RoR 向其发出请求,以便使用 SetAuthCookie() 从机器密钥 [2] 生成适当的令牌(cookie 的 ASPXAUTH 数据),或者
- 找到一种方法让 RoR 模拟 .NET 用来生成令牌的任何方法,这样我就可以在 cookie 中设置值,而不必在用户访问 ASPX 页面时重新验证用户身份。
数字 2 更可取,但在 Google 上搜索 3-4 小时后,我找不到任何关于如何做到这一点的信息,那么现在这里有人如何完成数字 2 吗?否则,我会做前者或尝试其他方法。提前感谢您提供我尚未考虑的建议、cmets 或替代选项。
[1]how to create .ASPXAUTH cookie on python [2]http://msdn.microsoft.com/en-us/library/ff649308.aspx
【问题讨论】:
-
我怀疑 [1] 会有所帮助,因为他在 2 年内没有得到答案!
-
我在我的工作中为一个使用 SetAuthCookie 的 MVC 项目制作了一个自定义身份验证提供程序;我回去工作看看能不能给你源代码。
-
谢谢@RussC!我刚刚更新了我的发现。我想我将使用 .NET 网络服务进行登录/注册,该服务将由备用堆栈调用。我想我还将在该 Web 服务中生成 .ASPXAUTH 会话并将其传递回响应中。以防万一我遇到任何相关的事情,看看代码会很好。