Всплывающее окно Ajax в зависимости от подтвержденного пользователя - PullRequest
0 голосов
/ 18 сентября 2018

Мне было интересно, сможет ли кто-нибудь указать мне правильное направление.

У меня есть экран входа в систему, у меня есть два набора пользователей .. Поставщики и администраторы .. Я хотел, чтобы всплывающее окно всплыло, если поставщик входит в систему ... (Это будет так, ониможет подписать декларацию с помощью переключателя), поэтому, прежде чем переключиться на сервер, они должны принять декларацию.Я не хочу, чтобы всплывающее окно показывало, являются ли они администратором.

1 Ответ

0 голосов
/ 24 сентября 2018

Я предполагаю, что вы делаете это с Razor?Я также предполагаю, что вы используете Identity для обработки вашей аутентификации.

Если это так, вы должны сначала увидеть этот ответ: 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 -->
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...