要在cshtml中检查用户是否为管理员,您可以使用以下代码示例:
@using Microsoft.AspNetCore.Identity
@inject SignInManager SignInManager
@if (SignInManager.IsSignedIn(User) && User.IsInRole("Administrator"))
{
Welcome, Administrator!
}
else
{
You are not an administrator.
}
在这个示例中,我们首先通过 using
指令导入 Microsoft.AspNetCore.Identity
命名空间,以便可以使用 SignInManager
类来检查用户是否已登录和用户的角色。
然后,我们使用 @inject
指令将 SignInManager
注入到视图中,以便可以调用 SignInManager
的方法。
在 if
条件中,我们首先通过 SignInManager.IsSignedIn(User)
方法检查用户是否已登录。然后,通过 User.IsInRole("Administrator")
方法检查用户是否具有 "Administrator" 角色。
根据检查的结果,我们输出相应的欢迎消息或错误消息。
请注意,这个示例假设您已经设置了 AspNetCore.Identity
并为用户分配了角色。