【问题标题】:Kentico 10 Password Expiration via C#通过 C# 的 Kentico 10 密码过期
【发布时间】:2017-02-24 07:11:04
【问题描述】:

使用 Kentico 10,用户如何使用 c# 以编程方式使密码过期? UserInfo.UserPasswordExpiration 没有设置器(因此只有只读)。我正在导入一堆用户(正在工作),我想强制用户在首次登录时重置密码。

【问题讨论】:

    标签: c# kentico


    【解决方案1】:

    要正确检查和设置,您需要

    检查是否启用密码过期:

    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 执行此操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-18
      • 1970-01-01
      • 2018-07-03
      • 1970-01-01
      • 2017-03-18
      • 1970-01-01
      相关资源
      最近更新 更多