C #: Безопасность / права пользователя для набора приложений, ldap подходит? - PullRequest
0 голосов
/ 22 июня 2010

Мы разрабатываем набор приложений для Windows для клиента, и нам нужно добавить модуль безопасности. Основные потребности довольно просты:
Функция для возврата списка разрешений:

string[] AllowedApplications = Security.GetList("Applications");
string[] AllowedMenusAndButtons = Security.GetList("Functions"); 
//In General:
string[] AllowedObjects = Security.GetList(<ObjectType>);

С помощью разрешенных приложений мы решаем, может ли текущий пользователь запустить приложение, а AllowedMenusAndButtons мы решаем, какие кнопки / меню включены. AllowedObjects будет использоваться для защиты на уровне строк в объектах.

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

Подходит ли LDAP для этих требований или будет слишком много накладных расходов. Есть ли какая-то другая структура, которую мы можем использовать, или нам лучше ее самим разрабатывать?

1 Ответ

0 голосов
/ 28 июня 2010

Многое зависит от того, сколько у вас пользователей, и в дополнение к управлению разрешениями, по вашему мнению, может потребоваться еще больше таких атрибутов для управления последними?Для большого числа пользователей подойдет простой XML, и вы можете легко использовать запрос XPATH для работы с XML.Для большого количества пользователей LDAP звучит выполнимо.

Кстати, мне любопытно узнать, будет ли AllowedMenusAndButtons использоваться для «показа» меню, которые действительны для конкретного пользователя?если это так, я надеюсь, что вы будете выполнять авторизацию на уровне сервера для этих меню.Типичная ошибка безопасности - отображать только применимые меню и рассматривать это как авторизацию.Я не уверен, что AllowedObjects - это авторизация на уровне сервера, если это так, у вас все хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...