锁定用户后,DNN清除用户缓存

时间:2019-01-29 11:22:24

标签: c# asp.net dotnetnuke dnn9

DNN 9.1存在问题。从代码锁定用户之后,DNN缓存不会刷新。

场景

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

Q

  • 从代码锁定用户之后,有什么方法可以让DNN知道吗?
  • 我应该等待多少时间,直到DNN缓存刷新?

1 个答案:

答案 0 :(得分:2)

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

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

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