Объявление Asp.Net Изменение паролей - PullRequest
0 голосов
/ 28 апреля 2011

Мы используем ASP.NET MVC и поставщик AdMembership для входа в систему, и по разным причинам нам пришлось реализовать собственную функцию «Изменить пароль при следующем входе в систему».

У нас также есть требование не допускать более одного изменения в сутки. таким образом, это настроено в AD.

Нам нужно игнорировать одно требование при сбросе пароля к значению по умолчанию, мы хотим, чтобы ученик был вынужден сменить пароль при следующем входе в систему, даже если это раньше 24 часов.

вот мой удар. По сути, я хочу изменить свойство PwdLastSet на значение более 24 часов после сброса пароля.

    if ( bSetToDefault )
    {
        var adDate                  = userToActOn.ADEntry.Properties[ "PwdLastSet" ][ 0 ];
        DateTime passwordLastSet    = DateTime.FromFileTime( ( Int64 ) adDate );
        passwordLastSet             = System.DateTime.Now.AddHours( -25 );
        long filetime               = passwordLastSet.ToFileTimeUtc();
        userToActOn.ADEntry.Properties[ "PwdLastSet" ][ 0 ] = filetime;
    }

Но я получаю нулевое значение, даже когда знаю, что пароль пользователя был изменен.

У кого-нибудь есть какие-либо подсказки или предложения? Я смотрю не в том свойстве?

Ответы [ 2 ]

1 голос
/ 28 апреля 2011

хмм, этот атрибут реплицируется, поэтому всегда должен быть доступен. Попробуйте сценарий командной строки, чтобы увидеть, если он появляется:

http://www.rlmueller.net/PwdLastChanged.htm

Это возможно, потому что это 64-битная дата, а не преобразование? Попробуйте скрипт и посмотрите, работает ли он. если это так, то посмотрите на процедуру Integer8Date в ней для преобразования даты.

0 голосов
/ 29 апреля 2011

Если вы используете System.DirectoryServices.AccountManagement, то для Принципала пользователя существует открытый метод немедленного истечения срока действия пароля. Так что это будет так же просто, как назвать его как oUserPrincipal.ExpirePasswordNow(); для получения дополнительной информации об его использовании, см. эту статью .

...