Exchange 2010 имеет модель делегирования, в которой группы командлетов winrm по существу группируются в роли, а роли назначаются пользователю.
Это отличная и гибкая модель, учитывающая, как я могу использовать все преимущества PowerShell, используя правильные технологии низкого уровня (WCF, SOAP и т. Д.) И не требуя дополнительного программного обеспечения на стороне клиента.
Вопросов)
Есть ли способ использовать модель делегирования Exchange в моем приложении .NET?
Кто-нибудь пытался подражать этой модели?
Если я должен начать с нуля, как бы я подражал этому подходу?
Ответы:
Двумя крупнейшими RBAC для .NET являются NetSqlAzMan http://netsqlazman.codeplex.com/ и RhinoSecurity https://github.com/ayende/rhino-security
Если вам в конечном итоге придется идти по пути старта с нуля, вы можете использовать любой из вышеперечисленных в качестве стартовой базы.
источник
Exchange предоставляет ограниченное пространство выполнения, и на самом деле в этом пространстве нет доступных командлетов. То, что кажется командлетами, на самом деле является прокси-функциями. Ваши возможности в пространстве выполнения управляются путем ограничения того, какие прокси-функции предоставляются и какие возможности каждого командлета предоставляются прокси-функцией.
Дублирование, включающее разработку подпрограмм, которые заполняют пространство выполнения прокси-функциями, предназначенными для пользователя, запрашивающего пространство выполнения, на основе групп ролей, к которым они принадлежат. Я не вижу причин, по которым группы AD не могут быть вашими ролями.
Детали реализации будут зависеть от приложения, но в основном это означает, что вы ограничиваете, кто может использовать какие параметры командлетов, выбирая, какие параметры будут иметь прокси-функции, предоставленные этому пользователю, и / или ограничивая значения, которые функция примет для конкретных параметров.
источник