C# 如何在ASP.NET中使用ASP经典身份验证?

C# 如何在ASP.NET中使用ASP经典身份验证?,c#,asp.net,sql-server,authentication,asp-classic,C#,Asp.net,Sql Server,Authentication,Asp Classic,我有一个用ASP classic实现的web应用程序。现在我们想迁移到ASP.NET,但由于应用程序相当大,我们无法立即迁移。相反,我们决定在那里逐步添加和替换ASP.NET位 我知道可以使用ASP.NET身份验证和ASP classic,如下所述: 我需要的恰恰相反。有没有办法使用我们的ASP经典身份验证系统保护ASP.NET页面?如果没有标准的方法,你将如何实现这样的事情 谢谢如果您可以在经典ASP代码中对有效票证进行加密,使ASP.NET FormsAuthentication模块能够对其

我有一个用ASP classic实现的web应用程序。现在我们想迁移到ASP.NET,但由于应用程序相当大,我们无法立即迁移。相反,我们决定在那里逐步添加和替换ASP.NET位

我知道可以使用ASP.NET身份验证和ASP classic,如下所述:

我需要的恰恰相反。有没有办法使用我们的ASP经典身份验证系统保护ASP.NET页面?如果没有标准的方法,你将如何实现这样的事情


谢谢

如果您可以在经典ASP代码中对有效票证进行加密,使ASP.NET FormsAuthentication模块能够对其进行解密,则持有此类票证(存储在cookie或URL中)的用户将被视为在ASP.NET请求管道中进行了身份验证

以下是有关如何使用静态
FormsAuthentication.encrypt
方法手动加密的文档:

这说明了票证其实没什么特别的,基本上是用户名、有效期。请注意,您还将在票证中存储一些额外的用户数据

当然,这还没有给出实际的加密算法。这取决于web.config中的配置,特别是
-元素。您应该显式设置decryptionKey属性,因为您需要在经典ASP代码中使用相同的密钥

您还应该设置decryption属性,以便在经典ASP代码中使用相同的算法(例如DES)。如果需要,您可以创建一个自定义解密算法,如果您不支持经典ASP代码中的内置算法

您将得到如下配置:

<machineKey decryptionKey="your key here" decryption="DES" />


这就是我将如何实施它

您最好只是重写身份验证,使其基于.NET。这也将花费更少的时间。没有标准的经典ASP身份验证。你必须有一些自定义的东西。你决定了一种方法吗?我们已经决定使用表单(ASP.NET)身份验证