ASP.NET - администратор зарегистрирован в [duplicate]

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

14
задан User 12345678 14 April 2014 в 00:53
поделиться

4 ответа

Предполагая, что вы находитесь в ASP.NET, это довольно просто:

if (!Roles.IsUserInRole(User.Identity.Name, "Administrators"))
{
  return "You are not authorized to access this page.";
)

(из http://msdn.microsoft.com/en-us/library/4z6b5d42%28v= vs.110% 29.aspx )

6
ответ дан Bilzard 20 August 2018 в 08:44
поделиться

Правильный способ в ASP Identity прост как

User.IsInRole("rolename");
26
ответ дан bluee 20 August 2018 в 08:44
поделиться
  • 1
    Стоит отметить, что это работает только при входе пользователя в систему. – stuartdotnet 7 June 2015 в 09:29
  • 2
    Что вы имеете в виду? Вопрос заключается в текущем зарегистрированном пользователе. Существуют и другие способы запроса о ролях для пользователя, который не входит в систему. – bluee 8 June 2015 в 10:30
  • 3
    Я предполагаю, что этот способ проверяет роли в ClaimsIdentity. Например, если User1 зарегистрирован, и после этого вы добавите User1 в Group1 User1.IsInRole («Group1») = false. Пользователь1 должен выйти из системы. – mtkachenko 14 December 2016 в 09:15
  • 4
    его работа отлично для меня – ravi chandra 19 June 2017 в 14:20

Вы можете получить идентификатор пользователя из Identity, а не искать пользователя в базе данных ...

var um = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new DbContext()));
var inrole = um.IsInRole(Context.User.Identity.GetUserId(), "Admin");
6
ответ дан Dougal 20 August 2018 в 08:44
поделиться
  • 1
    um.IsInRole вызывает IsInRoleAsync, который проверяет базу данных, я думаю – Isaac Bolinger 18 October 2015 в 20:43
  • 2
    Кроме того, вы можете поместить var um = new в блок using() ... – Druid 31 January 2017 в 11:08

это помогло мне надеяться, что это поможет ...

If HttpContext.Current.User.IsInRole("admin") Then
        adminmnu.Visible = True
    End If
3
ответ дан ookie 20 August 2018 в 08:44
поделиться
  • 1
    Этот вопрос отмечен для C #, но вы ответили, используя VB.NET – Yuck 9 June 2016 в 18:39
Другие вопросы по тегам:

Похожие вопросы: