Ajax弹出框取决于验证的用户

时间:2018-09-18 14:35:32

标签: c# asp.net ajax

我想知道是否有人可以指出我正确的方向。

我有一个登录屏幕,我有两组用户。.供应商和管理员。.如果供应商登录,我想弹出一个弹出屏幕...(这样他们就可以签署因此,在转移到后端之前,他们必须接受该声明。我不希望弹出窗口显示他们是否是管理员用户。

1 个答案:

答案 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 -->
}