我们使用 ASP.NET MVC 和 AdMembership 提供程序进行登录,并且由于各种原因不得不实现我们自己的“下次登录时更改密码”功能。
我们还有一个 nist 要求,即每 24 小时不允许超过一次更改。所以它在 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;
}
但是,即使我知道用户密码已更改,我也会不断返回 null。
有人有任何提示或建议吗?我在找错房产吗?