0
随着Kentico 10,用户如何使用c#以编程方式使他们的密码过期? UserInfo.UserPasswordExpiration没有setter(所以只能读取)。我正在导入一群用户(正在工作),我想强制用户在首次登录时重置密码。Kentico 10通过C#密码过期
随着Kentico 10,用户如何使用c#以编程方式使他们的密码过期? UserInfo.UserPasswordExpiration没有setter(所以只能读取)。我正在导入一群用户(正在工作),我想强制用户在首次登录时重置密码。Kentico 10通过C#密码过期
要正确地检查和设置这一点,你如果密码过期启用需要
检查:
int num;
bool isEnabled = AuthenticationHelper.IsPasswordExpirationEnabled("Sitename", out num);
然后检查当用户上次更改其密码:
TimeSpan dateTime = UserInfoProvider.DateTimeNow = MembshipContext.AuthenticatedUser.UserPasswordLastChanged;
int daysSinceLastChange = num - dateTime.Days;
所以,如果daysSinceLastChange
是一个正值,密码过期了该天数。如果daysSinceLastChange
是负值,则密码将在那些日期内过期。
要正确设置这一点,你需要做的几件事情:
UserPasswordLastChanged
值上要无效用户可笑的东西像10年前。您可以在导入用户或通过API时执行此操作。