Хобрук: Ваш путь к мастерству в программировании

Как я могу получить «минимальный возраст пароля» пользователя в активном каталоге с помощью asp.net?

Как я могу получить «минимальный срок действия пароля» пользователя в активном каталоге с помощью asp.net?
Используя службы каталогов или AspNetActiveDirectoryMembershipProvider

Например:

from below line, I can get lastname of user. 
string lastName = objDirectoryEntry.Properties["sn"].Value;

Ниже приведен список атрибутов пользователя. Я не смог найти в своем обязательном атрибуте «минимальный срок действия пароля»
http://www.kouti.com/tables/userattributes.htm

Примечание. Я говорю об использовании Asp.net

Редактировать сводку---------
Я получаю следующую ошибку, когда пытаюсь изменить пароль пользователя с помощью службы каталогов или AspNetActiveDirectoryMembershipProvider (это провайдер членства по умолчанию)


Пароль не соответствует требованиям политики паролей. Проверьте минимальную длину пароля, сложность пароля и требования к истории паролей


Пользователь успешно создан и обновлен (обновите поле, такое как имя, фамилия и т. д.). Я использую обе службы каталогов и AspNetActiveDirectoryMembershipProvider для создания и обновления пользователя, но проблема возникает при попытке изменить пароль

Например: я создал пользователя с паролем anc1236! который успешно создал
и теперь обновил пароль на xyyz4562@ и получил ошибку

ниже приведен код, который я использую для смены пароля
objMembershipUser.ChangePassword(oldPassword, newPassword)
Я также пытаюсь напрямую использовать службы каталогов и получаю ту же ошибку


Ответы:


1

Мне кажется, вы смотрите не на те объекты.

При работе с учетными записями пользователей в Active Directory часто приходится обращаться к политикам учетных записей домена. Например, такие политики, как минимальный и максимальный срок действия пароля и минимальная длина пароля, а также политика блокировки, определяются на уровне домена и применяются к каждому объекту пользователя в домене. Все значения хранятся непосредственно в корневом объекте домена (не в RootDSE, а в объекте, на который указывает атрибут defaultNamingContext в RootDSE) в виде набора атрибутов, таких как maxPwdAge, minPwdLength и lockoutThreshold. Кроме того, правила сложности пароля закодированы в перечисляемом значении атрибута pwdProperties. Эти значения, как правило, довольно статичны в большинстве доменов, поэтому обычно нам нужно считывать эти значения только один раз за выполнение программы. Чтобы упростить использование значений политики, в листинге 10.7 показан класс-оболочка для политик учетных записей домена, который преобразует все значения в удобные типы данных .NET, такие как TimeSpan. Также включен специальный тип перечисления .NET для типов политики паролей. Мы не сможем включить в книгу все свойства класса, так как это займет слишком много места, но у нас будет полный класс, доступный на веб-сайте книги. Мы будем ссылаться на этот пример в будущих обсуждениях, демонстрируя, как определить статус блокировки учетной записи и найти учетные записи с истекающим сроком действия пароля. Также стоит отметить, что любые значения LargeInteger в этих атрибутах политики сохраняются как отрицательные значения. Мы решили инвертировать их обратно к положительным значениям, потому что так о них легче думать. Разработчики, решившие использовать эти атрибуты, должны помнить об этом, так как это приведет к сбою вычислений позже, если они не будут учтены.

Примеры см. на этой странице.

01.05.2012
Новые материалы

Неделя 1 — Кентерберийские рельсы.
Неделя 1 — Кентерберийские рельсы. So. Мы все еще живы, все еще усердно работаем и еще не пассивно-агрессивно рассылаем друг другу сообщения «за мое последнее сообщение в Slack…», поэтому, на..

Цена завтрашнего дня  — Джефф Бут
Технологический прогресс в наши дни происходит с молниеносной скоростью, и мы не в состоянии это понять. Джефф в основном говорит о влиянии технологий на экономику по всему миру. Он твердо верит..

Данные: суперсила современного бизнеса
В цифровой среде данные превратились из простого побочного продукта бизнес-операций в центральный актив, стимулирующий рост и инновации. Крейг Манди, бывший главный директор по стратегии..

Как симулировать серию пенальти на Python с помощью симуляции Монте-Карло, часть 1: генерация функций
Серия пенальти была огромным испытанием во время чемпионата мира по футболу. Они вызвали много споров в социальных сетях и новостных агентствах. Даже финальный матч турнира решался по..

AST для разработчиков JavaScript
TL; DR Эта статья - мое выступление на недавно состоявшейся конференции Stockholm ReactJS Meetup. Вы можете посмотреть слайды здесь..

5 проектов на Python, которые нужно создать прямо сейчас!
Добро пожаловать! Python — один из моих любимых языков программирования. Если вы новичок в этом языке, перейдите по ссылке ниже, чтобы узнать о нем больше:

Dall-E 2: недавние исследования показывают недостатки в искусстве, созданном искусственным интеллектом
DALL-E 2 — это всеобщее внимание в индустрии искусственного интеллекта. Люди в списке ожидания пытаются заполучить продукт. Что это означает для развития креативной индустрии? О применении ИИ в..