45830 (665174), страница 2

Файл №665174 45830 (Active Directory for Application Mode) 2 страница45830 (665174) страница 22016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Для создания пользователя достаточно в “ADAM ADSI Edit” добавить новый объект класса User. После того, как новый пользователь добавлен, необходимо задать для него пароль. Утилита “ADAM ADSI Edit” позволяет сделать это из контекстного меню пользователя (пункт “Reset Password”). Поведение объекта класса User настраивается с помощью набора атрибутов. Некоторые из них:

msDS-UserAccountDisabled – если TRUE, учетная запись пользователя не активирована. Сразу после создания значение этого атрибута устанавливается в TRUE. Соответственно, для активации учетной записи нового пользователя необходимо вручную изменить значение на FALSE.

msDS-UserDontExpirePassword – если TRUE, указывает системе, что пароль данного пользователя имеет неограниченный срок действия.

msDS-UserPasswordExpired – значение TRUE данного атрибута говорит о том, что время действия текущего пароля закончилось, и требуется его смена.

Для управления правами доступа удобнее всего назначать права не напрямую пользователям, а группам пользователей. Такой алгоритм обеспечивает наиболее гибкое администрирование доступа к объектам службы каталогов. Здесь группы выступают в качестве ролей, которые определяют доступ к тем или иным частям дерева каталогов. Соответственно пользователь наследует права доступа у группы или нескольких групп, членом которых он является.

Чтобы создать группу пользователей, создается новый объект класса group. При создании надо не забыть установить значение атрибута groupType равным 2147483650 (0x80000002 в шестнадцатеричном представлении). Это значение указывает, что созданная группа является группой пользователей. За связывание пользователей с группой отвечает атрибут member класса group. “ADAM ADSI Edit” позволяет добавлять в группу как доменных пользователей, так и собственных пользователей ADAM.

Авторизация и управление правами доступа. Утилита DSACLS.EXE

Авторизация – это процесс определения, прав пользователя на доступ к объекту службы каталогов. Определение прав осуществляется на основе так называемых списков контроля доступа – Access Control List (ACLs). Утилита командной строки DSACLS.EXE позволяет просматривать и изменять права доступа пользователей и групп пользователей.

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

Просмотр списка контроля доступа к объекту с полным именем ‘CN=MyObject1,OU=MyApp,O=MyCompany,C=RU’:

dsacls.exe "\\localhost:389\ CN= MyObject1,OU=MyApp,O=MyCompany,C=RU"

Установка прав на чтение объекта ‘CN= MyObject1,OU=MyApp,O=MyCompany,C=RU’ и объектов его поддерева группе пользователей ‘CN=USER_GROUP,OU=MyApp,O=MyCompany,C=RU’:

dsacls.exe "\\localhost:389\ CN= MyObject1,OU=MyApp,O=MyCompany,C=RU" /I:T /G "CN=USER_GROUP,OU=MyApp,O=MyCompany,C=RU":GR

Способы идентификации пользователей.

Подсоединиться к ADAM можно тремя разными способами: как пользователь Windows, как пользователь ADAM (класс User) или с помощью объекта класса UserProxy.

Во время установки ADAM запрашивает имя пользователя, который в дальнейшем будет администратором ADAM. По умолчанию это пользователь, устанавливающий ADAM. Все администраторы ADAM входят в группу пользователей Administrators, расположенную в разделе конфигурации; полное имя этой группы – CN=Administrators, CN=Roles, CN=Configuration, CN={идентификатор раздела конфигурации}. Таким образом, вы можете назначить свою учетную запись Windows администратором ADAM и подключаться в дальнейшем к ADAM как пользователь Windows. Точно так же можно создать свою группу в разделе приложения и добавить пользователей Windows в эту группу.

Если вы создали пользователя ADAM и назначили ему права доступа к объектам раздела приложения, вы можете подключаться к ADAM-у от имени этого пользователя. Именем пользователя в этом случае будет полное имя (Distinguished Name) пользователя.

Кроме описанных выше двух способов, ADAM позволяет подключаться, используя так называемое перенаправление подключения, которое реализуется классом UserProxy. Объект класса UserProxy хранит в себе ссылку на пользователя Windows в AD. Такой режим может быть удобен, когда приложению необходима дополнительная информация (та, которой нет в Active Directory), связанная с пользователем Windows.

Пакетная обработка. Утилита LDIFDE.EXE

Все вышеописанные инструменты обеспечивают достаточно средств для администрирования ADAM. Однако все изменения, такие как добавление новых классов, объектов и пользователей, должны выполняться вручную. Это не очень удобно, особенно если есть необходимость повторять точно те же действия на другом сервере. Типичный пример – разработка ведется на компьютере разработчика, тестирование на специальном сервере тестирования, а работает приложение на рабочем сервере. В этом случае было бы удобно иметь возможность выполнять все изменения в пакетном режиме. Такую возможность предоставляет утилита LDIFDE.EXE, которая позволяет экспортировать данные из ADAM в LDF-скрипты и импортировать LDF-скрипты в ADAM. Рассмотрим типичные случаи применения этой утилиты, возникающие при разработке программного обеспечения.

Экспорт всего поддерева CN=Personnel,OU=MyApp,O=MyCompany,C=RU в виде, удобном для дальнейшего импорта на другой сервер:

C:\WINDOWS\ADAM\ldifde.exe -f data.ldf -s localhost:389 -d " CN=Personnel,OU=MyApp,O=MyCompany,C=RU " -j . -p subtree -o "cn,distinguishedName,instanceType,whenCreated,whenChanged,uSNCreated,uSNChanged,objectGUID,objectCategory,dSCorePropagationData"

Импорт данных в ADAM:

ldifde -i -f data.ldf -s localhost:389 -j . –k

Примеры команд LDF-скриптов.

Добавление группы пользователей:

dn: CN=USER_GROUP, OU=MyApp,O=MyCompany,C=RU

changetype: add

objectClass: top

objectClass: group

cn: Administrators

instanceType: 4

groupType: 2147483650

Удаление объекта:

dn: CN=USER_GROUP, OU=MyApp,O=MyCompany,C=RU

changetype: remove

Изменение объекта:

dn: CN=Object1, OU=MyApp,O=MyCompany,C=RU

changetype: modify

replace:Color

Color: RED

-

Переименование объекта:

dn: CN=Object1, OU=MyApp,O=MyCompany,C=RU

changetype: modrdn

newrdn: CN=RenamedObject1

deleteoldrdn: 1

Для расширения схемы ADAM-а нужно использовать командную строку с указанием пространства имен схемы:

C:\WINDOWS\ADAM\LDIFDE.EXE -i -f SchemaExt.ldf -s localhost:389 -j . -c "CN=Schema,CN=Configuration,DC=X" #schemaNamingContext -k

ПРЕДУПРЕЖДЕНИЕ

Заметьте, что если для обновления данных раздела, можно использовать утилиту LDIFDE.EXE, идущую в поставке WINDOWS, то при изменении схемы ADAM необходимо использовать утилиту, установленную вместе с ADAM, иначе команда вернет ошибку.

Содержимое файла SchemaExt.ldf, используемого в примере:

#Добавление в схему нового атрибута:

dn: CN=MyAttribute1,CN=Schema,CN=Configuration,DC=X

changetype: ntdsschemaadd

objectClass: top

objectClass: attributeSchema

attributeID: 1.3.444.656565.1.1

attributeSyntax: 2.5.5.12

isSingleValued: TRUE

showInAdvancedViewOnly: TRUE

adminDisplayName: MyAttribute1

oMSyntax: 64

lDAPDisplayName: MyAttribute1

#Добавление в схему нового класса:

dn: CN=MyClass1,CN=Schema,CN=Configuration,DC=X

changetype: ntdsschemaadd

objectClass: top

objectClass: classSchema

possSuperiors: container

subClassOf: top

governsID: 1.3.444.656565.2.1

mayContain: MyAttribute1

showInAdvancedViewOnly: TRUE

adminDisplayName: MyClass1

adminDescription: New class

lDAPDisplayName: MyClass1

dn:

changetype: modify

add: schemaUpdateNow

schemaUpdateNow: 1

-

В этом примере первая команда создает новый атрибут MyAttribute1, а вторая – новый класс MyClass1, использующий этот атрибут. Последняя команда фиксирует изменения в схеме. Такая команда должна вызываться каждый раз после создания нового класса.

Способы взаимодействия приложения с ADAM

Для работы с ADAM используются те же средства, что и для работы с AD. Это – Active Directory Services Interfaces (ADSI), Lightweight Directory Access Protocol (LDAP), пространство имен System.DirectoryServices Microsoft .NET Framework, а также провайдер доступа к данным OLEDB ADsDSOObject.

ADSI предоставляет набор COM-интерфейсов для работы с ADAM и обеспечивает наиболее широкий набор инструментов.

LDAP – “облегченный” протокол доступа, позволяющий изменять содержимое службы каталогов и выполнять поиск по дереву объектов. LDAP может быть использован в приложениях, для которых работа с ADAM-ом не является основной функциональностью.

Пространство имен System.DirectoryServices (SDS) разработано на базе ADSI и предоставляет возможности, схожие с теми, что предоставляет протокол LDAP. SDS можно использовать в приложениях на базе технологии Microsoft.NET.

Провайдер доступа к данным ADsDSOObject предоставляет SQL-подобный интерфейс чтения, изменения и поиска данных в AD. Из всех описанных средств это обладает самой низкой производительностью, но оно может быть использовано в приложениях, выполняющих поиск в ADAM, если скорость работы не является критичной.

Работа с объектами: чтение, изменение и поиск данных

Рассмотрим работу с ADAM на примере, использующем пространство имен System.DirectoryServices.

В примере производится поиск, и в найденных объектах изменяется значение свойства MyAttribute1. Проверка существования значения атрибута не выполняется – предполагается, что оно существует. Также не выполняется обработка исключений. Сделано это для того, чтобы не загромождать код примера.

using System;

using System.DirectoryServices;

namespace SDSExample

{

class SDSExample

{

[STAThread]

static void Main(string[] args)

{

//Подключение к ADAM-у

DirectoryEntry deRoot =

new DirectoryEntry(

"LDAP://LOCALHOST:389/CN=Personnel,OU=MyApp,O=MyCompany,C=RU");

//Создание объекта класса DirectorySearcher, выполняющего поиск

DirectorySearcher dSeacher =

new DirectorySearcher(deRoot, "(objectClass=MyClass1)");

//Указание искать по всему поддереву корневого объекта

dSeacher.SearchScope = SearchScope.Subtree;

//Поиск всех объектов, удовлетворяющих условию

SearchResultCollection srEntries = dSeacher.FindAll();

for(int index=0; index

{

//Вывод значений атирбутов объекта

SearchResult srEnrty = srEntries[index];

Console.WriteLine(index);

Console.WriteLine("distinguishedName ="

+ srEnrty.Properties["distinguishedName"]);

Console.WriteLine("MyAttribute1 ="

+ srEnrty.Properties["MyAttribute1"][0]);

Console.WriteLine();

//Изменение значения атрибута MyAttribute1

DirectoryEntry deEntry = srEnrty.GetDirectoryEntry();

deEntry.Properties["MyAttribute1"].Value =

"new_value_of_Object" + index.ToString();

//Фиксирование изменений

deEntry.CommitChanges();

deEntry.Close();

}

deRoot.Close();

}//Main()

}//class SDSExample

}//namespace SDSExample

Работа с пользователями

Для некоторых приложений может потребоваться возможность управления пользователями ADAM (не Windows). Работу с пользователями из приложения демонстрирует следующий пример. В нем создается новый пользователь с именем ‘CN=Vasiliy_Pupkin,CN=Users,OU=MyApp,O=MyCompany,C=RU’ и добавляется в группу ‘CN=USER_GROUP,OU=MyApp,O=MyCompany,C=RU’.

using System;

using System.DirectoryServices;

namespace ADAMUserExample

{

class ADAMUser

{

[STAThread]

static void Main(string[] args)

{

DirectoryEntry deUserRoot =

new DirectoryEntry(

"LDAP://LOCALHOST:389/CN=Users,OU=MyApp,O=MyCompany,C=RU");

//Создание пользователя

DirectoryEntry deNewUser = deUserRoot.Children.Add(

"CN=Vasiliy_Pupkin", "User");

deNewUser.Properties["displayName"].Value = "Vasiliy Pupkin";

deNewUser.CommitChanges();

//назначение пароля

deNewUser.Properties["userpassword"].Value = "Vasiliy_Password_1";

deNewUser.CommitChanges();

//активирование пользователя

deNewUser.Properties["msds-useraccountdisabled"].Value = false;

//отмена срока действия пароля

deNewUser.Properties["msds-userdontexpirepassword"].Value = true;

deNewUser.CommitChanges();

DirectoryEntry deUserGroup =

new DirectoryEntry(

"LDAP:// LOCALHOST:389/CN=USER_GROUP,OU=MyApp,O=MyCompany,C=RU");

deUserGroup.Properties["member"].Add(

deNewUser.Properties["distinguishedName"].Value);

deUserGroup.CommitChanges();

deUserGroup.Close();

deNewUser.Close();

deUserRoot.Close();

}//Main

}//class ADAMUser

}

Однако если попытаться выполнить данный пример, используя конфигурацию ADAM по умолчанию, возникнет ошибка в момент применения пароля пользователя. Это произойдет потому, что конфигурация по умолчанию запрещает смену пароля с использованием незащищенного канала (в примере используется порт 389 – порт незащищенного канала, предлагаемый при установке ADAM). Возможны два варианта решения проблемы. Первый – настроить защищенный канал (порт защищенного канала, предлагаемый при установке, 636, использует SSL для шифрования канала) и подключаться к ADAM через него. Второй – настроить ADAM так, чтобы изменение пароля через незащищенное соединение было разрешено. Для этого необходимо установить тринадцатый символ атрибута dSHeuristics объекта конфигурации с полным именем ‘CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,CN={идентификатор раздела конфигурации ADAM-а}’ в ‘1’. По умолчанию значение этого атрибута в ADAM-е не установлено.

Характеристики

Тип файла
Документ
Размер
1,19 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6381
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее