我想知道是否有人可以指出我正确的方向。
我有一个登录屏幕,我有两组用户。.供应商和管理员。.如果供应商登录,我想弹出一个弹出屏幕...(这样他们就可以签署因此,在转移到后端之前,他们必须接受该声明。我不希望弹出窗口显示他们是否是管理员用户。
答案 0 :(得分:1)
我假设您正在使用Razor进行此操作? 我还假设您正在使用身份来处理身份验证。
如果是这种情况,您应该先看到以下答案: https://stackoverflow.com/a/45675054/6709649
使用以下代码获取用户的角色:
var user = await _userManager.FindByNameAsync(User.Identity.Name);
//Return true if any of the found roles are equal to "Supplier"
bool isSupplier = await _userManager.GetRoles(user.Id).Any(x => x == "Supplier");
您可以从此处在要传递到剃刀视图的模型上创建标记:
public class MyViewModel{
public IsSupplier { get; set; }
...
}
然后设置您在上面找到的MyViewModel.IsSupplier = isSupplier
。然后,在剃须刀视图中,可以使用简单的if语句来检测是否显示ajax弹出窗口:
@if(Model.IsSupplier){
<!-- Some HTML here to show the popup -->
}