锁定用户后,DNN 为用户清除缓存
DNN clear cache for a user after locking it out
DNN 9.1 有问题。锁定用户(通过代码)后,DNN 缓存不会刷新。
场景
- 用户输入 his/her 个密码超过 Membership.MaxInvalidPasswordAttempts;所以,用户被锁定了。
- 通过'host'(超级用户帐户)登录,并搜索锁定的用户,DNN 不会将用户显示为已锁定。 (实际上,我正在搜索 'Unlock User' 选项)
Q
- 在代码锁定用户后,是否有任何方法让 DNN 知道?
- 我应该等到 DNN 缓存刷新多少时间?
您可以在 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"。底部是解锁用户的按钮。
DNN 9.1 有问题。锁定用户(通过代码)后,DNN 缓存不会刷新。
场景
- 用户输入 his/her 个密码超过 Membership.MaxInvalidPasswordAttempts;所以,用户被锁定了。
- 通过'host'(超级用户帐户)登录,并搜索锁定的用户,DNN 不会将用户显示为已锁定。 (实际上,我正在搜索 'Unlock User' 选项)
Q
- 在代码锁定用户后,是否有任何方法让 DNN 知道?
- 我应该等到 DNN 缓存刷新多少时间?
您可以在 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"。底部是解锁用户的按钮。