【问题标题】:DNN clear cache for a user after locking it outDNN 在锁定用户后清除缓存
【发布时间】:2019-06-22 12:22:02
【问题描述】:

DNN 9.1 存在问题。锁定用户(通过代码)后,DNN 缓存不会刷新。

场景

  • 用户输入他/她的密码超过 Membership.MaxInvalidPasswordAttempts;因此,用户被锁定。
  • 通过“主机”(超级用户帐户)登录并搜索锁定的用户,DNN 不会将用户显示为锁定。 (实际上,我正在寻找“解锁用户”选项)

  • 在锁定用户的代码后,有什么方法可以让 DNN 知道吗?
  • 我应该等多久才能刷新 DNN 缓存?

【问题讨论】:

    标签: c# asp.net dotnetnuke dnn9


    【解决方案1】:

    您可以在 DNN 中以编程方式清除缓存。

    DotNetNuke.Common.Utilities.DataCache.ClearModuleCache(TabId);
    DotNetNuke.Common.Utilities.DataCache.ClearTabsCache(PortalId);
    DotNetNuke.Common.Utilities.DataCache.ClearPortalCache(PortalId, false);
    

    但我怀疑这是否能解决您的问题,因为锁定不是由 DNN 而是由 ASP.NET Membership 管理的。 锁定是实时的。如果您转到Admin > User Accounts > Edit User Account,您将在“管理帐户”选项卡上看到“lockedout = true”。底部是一个解锁用户的按钮。

    【讨论】:

    • 锁定不是由 DNN 而是由 ASP.NET Membership 管理的,但锁定不是实时的。我查了一下,发现[Locked Out: False]。
    • 是的,是实时的。刚刚在 9.2.2 中再次测试。如果不是这样,那就没有意义了。每次打开用户属性时,它都会从 aspnet 成员中读取值。
    猜你喜欢
    • 1970-01-01
    • 2017-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 2014-11-25
    • 2013-01-09
    相关资源
    最近更新 更多