Роли безопасности ASP.NET И полномочия

Вложите ваше случайно сгенерированное число и напечатайте в цикле for.

import java.util.Random;

class RandomNumbers
{
  public static void main (String[] args)
  {
    for (int i = 1 ; i <= 10 ; i++)
    {
      int random = (int) (Math.random () * (50 + 1));
      if (i < 10)
      {
        System.out.print (random + ", ");
      }
      else
      {
        System.out.print (random);
      }
    }
  }
}

Заметки об изменениях, которые я сделал: println изменен на печать, так что все десять чисел выводятся в одной строке, добавлен оператор if / else для форматирования вывода [ 113]

Ваш вывод должен выглядеть следующим образом:

35, 27, 39, 19, 7, 48, 19, 27, 8, 38

6
задан blowdart 14 May 2009 в 11:56
поделиться

4 ответа

Вы можете использовать Азмана, как описано в этой статье MSDN .

Но есть ряд вещей, которые мне не нравятся в Азмане, поэтому я выбрал свой собственный в качестве дополнения к RoleProvider (дополнительные таблицы, API-интерфейсы и инструменты администратора, которые управляют отображением разрешений на роли).

Моя настраиваемая реализация очень проста:

  • MN отношения между ролями и разрешениями.

  • API ". HasPermission ", который проверяет, имеет ли данный принципал данное разрешение. Это просто перебирает все роли и проверяет, имеет ли роль данное разрешение. Роли разрешений на сопоставление кэшируются с использованием кэша ASP.NET из соображений производительности.

4
ответ дан 17 December 2019 в 04:51
поделиться

It's not there out of the box; but if you wanted to be more granular, why not have granular roles like "CanPrint", "CanDelete" rather than wider ones like "Admin"?

If they want a container type scenario as you indicate in your comments you could setup a custom IPrincipal - where, after authentication, and with each new request you look at the user's role membership ("Admin", "Public" etc.) and then override IsInRole on your IPrincipal. You can find an example here

2
ответ дан 17 December 2019 в 04:51
поделиться

Да, это возможно. Создайте нужные роли, добавьте пользователей в роли, а затем просто отметьте User.IsInRole в своем коде, где вы выполняете действие, требующее этой роли.

Взгляните на классы Roles и MemberShip в System.Web. Безопасность

-2
ответ дан 17 December 2019 в 04:51
поделиться

Вы можете вернуть РАЗРЕШЕНИЯ вместо РОЛИ в вашем RoleProvider.

public override string[] GetRolesForUser(string username) {
   return GetGrantedPermissions(userName);
}

Затем создайте свои административные страницы, чтобы добавить {предоставленные / отклоненные} разрешения для ролей и, конечно же, пользователей для ролей.

0
ответ дан 17 December 2019 в 04:51
поделиться
Другие вопросы по тегам:

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