ASP.NET CORE 2.0 Authentification

时间:2017-12-26 18:22:03

标签: asp.net asp.net-core

您好我已经使用个人用户帐户创建了一个新的ASP.NET Core 2.0 MVC Web App(.NET Framework 4.6.1)。 我很困惑这个模板使用的是什么版本的Identity。我认为它必须是“ASP.NET Identity 2.0”,但如果我已经正确理解它,那么还有一种叫做“ASP.NET Core 2.0 Identity 2.0”的东西。那么模板正在使用哪一个?

2 个答案:

答案 0 :(得分:0)

更新的答案:

嗯 - Microsoft.AspNetCore.Identity是AspNetCore中AU身份验证的核心包或基础。它只提供身份验证的合同。您仍需要一种机制来存储与身份验证相关的数据。

Microsoft.AspNetCore.Identity.EntityFrameworkCore - 使用EntityFrameworkCore作为数据层,为您的身份验证提供与存储相关的内容。基本上它为您提供了Code First数据存储的实现。

当您在Nuget上查看Microsoft.AspNetCore.Identity.EntityFrameworkCore的包定义时:https://www.nuget.org/packages/Microsoft.AspNetCore.Identity.EntityFrameworkCore/ - 密切关注依赖项。 Microsoft.AspNetCore.Identity作为核心依赖之一。

在Visual Studio中转到项目的解决方案资源管理器。展开Dependencies节点,您将看到确实引用了Microsoft.AspNetCore.Identity。这是我VS的屏幕截图:

Microsoft.AspNetCore.Identity.EntityFrameworkCore dependencies

希望这会有所帮助

使用ASP.NET Core - 您作为附加包使用的所有内容都必须基于核心。关于身份验证 - 通常称为ASP.NET核心身份。使用的包称为“Microsoft.AspNetCore.Identity”,目前此包的版本为2.0.1。这是您将用于ASP.NET Core 2.0项目的版本。

我有Visual Studio 2017(15.4.4)。我刚刚用.NET Framework 4.6.1作为托管平台创建了一个ASP.NET Core 2.0应用程序。我创建了具有“个人用户帐户”身份验证类型的网络应用程序。

如果打开.csproj - 您可以查看PackageReferene节点。它使用以下包:

<PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="2.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="2.0.1" />

此外,您可以在此处了解有关身份的所有信息 - https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity?tabs=visual-studio%2Caspnetcore2x

希望这有帮助。

答案 1 :(得分:0)

查看.csproj文件。你有一个名为

的包引用
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />

如果是这样,您使用的是Microsoft.AspNetCore.Identity 2.0.0。此参考包中包含所有内容。此软件包包含Microsoft作为ASP.NET Core 2.0的一部分提供的每个软件包,包括所有Razor软件包,MVC软件包,Entity Framework Core软件包等。使用此包时,您不必引用单个包,但可以在依赖项中看到它们。