我正在嘗試基于角色操作 Asp.Net Web 應用程式的導航。
我創建了一個基于 Microsoft.AspNetCore.Identity 的基于角色的身份驗證的 Asp.Net (6.0 LTS) Web 應用程式。我能夠控制對(Razor)頁面的訪問以及限制對未登錄用戶的訪問。
程式.cs
builder.Services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = false)
.AddRoles<IdentityRole>()
.AddEntityFrameworkStores<ApplicationDbContext>();
頁面.cshtml.cs
using Microsoft.EntityFrameworkCore;
using ...;
namespace ...
{
[Authorize(Roles = "Admin")]
public class IndexModel : PageModel
{...
在導航級別檢查用戶是否登錄的作業如下:
_LoginPartial.cshtml
@if (SignInManager.IsSignedIn(User))
{
...
}
else
{
...
}
我的問題:如何根據角色操作這個 _LoginPartial.cshtml 子頁面?為什么首先向不能使用它們的用戶顯示導航項?
謝謝 :)
uj5u.com熱心網友回復:
您可以使用以下IsInRole方法:
@if (User.IsInRole("Admin"))
{
...
}
else
{
...
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/509949.html
標籤:C#。网asp.net 核心
