ASP.NET Razor Pages Identity是ASP.NET Core中身份验证和授权的框架。以下是ASP.NET Razor Pages Identity的中文解决方法和示例代码。
- 首先,在ASP.NET Core项目中安装Microsoft.AspNetCore.Identity.UI和Microsoft.EntityFrameworkCore.Tools NuGet包:
Install-Package Microsoft.AspNetCore.Identity.UI
Install-Package Microsoft.EntityFrameworkCore.Tools
- 在Startup.cs文件中添加以下代码:
services.AddDbContext(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddDefaultIdentity()
.AddEntityFrameworkStores();
- 创建一个名为ApplicationDbContext的类,继承自IdentityDbContext:
public class ApplicationDbContext : IdentityDbContext
{
public ApplicationDbContext(DbContextOptions options)
: base(options)
{
}
}
- 在应用程序的Views / Shared /文件夹中创建一个名为_Layout.cshtml的共享布局文件,并将以下代码添加到文件的元素中:
@using Microsoft.AspNetCore.Identity
@inject SignInManager SignInManager
@inject UserManager UserManager
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
- 在视图页面中使用以下代码来访问经身份验证和授权的用户的细节:
@inject SignInManager SignInManager
@inject UserManager UserManager
@if (SignInManager.IsSignedIn(User))
{
Welcome @UserManager.GetUserName(User)! Logout
}
else
{
Register | Login
}
此解决方法提供了一个基本的ASP.NET Razor Pages Identity集成,您可以使用它来构建更加安全和复杂的应用。