创建后如何更改 ASP.NET MVC 身份验证?

How do I change ASP.NET MVC authentication after creation?

我目前有一个 MVC 5 应用程序,它使用来自 Intranet 模板的 Windows 身份验证。我现在想将其公开给互联网用户并使用 oauth。看来我的项目中缺少 oauth 演练中的许多文件。是否有一个 nuget 包可以用来重新填充 "Individual Users" 模板中丢失的文件,或者我真的需要创建一个新项目作为 OAuth 并向后填充 Windows auth 吗?

您不能真正同时使用 Windows Auth 和 Forms Auth(个人用户帐户),有或没有 OAuth。有一些 hacky 方法可以使我刚才说的话无效,但它们就是这样:hacky。实际上,唯一真正的方法是转到 Forms Auth,然后手动连接到 LDAP,以对从域到 Forms Auth 的代理身份验证进行分类(基本上,您必须创建一个代表域帐户的本地用户帐户)。

真的,如果您需要同时使用不同形式的身份验证,最安全和最简单的选择是使用单独的项目并尽可能多地共享代码,使用 class 库,Razor Generator用于编译视图等。您当然必须单独托管每个项目,但您可以简单地使用子域(即 internal.mysite.com 与 www.mysite.com),或者如果您有自己的网络 DNS 服务器,您甚至可以使用同一域将内部请求与外部请求映射到两个不同的站点。