1

我将密码到期提醒设置为 14 或 XX 天,然后单击更新。然后我再次查看它显示默认值 7 天。它从不更新密码到期提醒(以天为单位)字段,DNN 中是否存在错误。

我尝试将其更改为少于 7 天的天数,但它也没有设置。

你能告诉我我该怎么做吗?请

感谢和问候 Mohsin JK

4

2 回答 2

1

这似乎是 DotNetNuke 中的一个错误,我自己在自己的网站上复制了它。

我已将此作为问题添加到 Gemini http://support.dotnetnuke.com/issue/ViewIssue.aspx?id=19436&PROJID=2

我想看看我是否也能想出一个解决方法。

于 2012-01-09T18:13:10.830 回答
1

我刚刚在 DotNetNuke 5.6.1 中对此进行了测试。事实上,设置在数据库中更新(检查它:

 SELECT [SettingName]
      ,[SettingValue]
      ,[SettingIsSecure]
      ,[CreatedByUserID]
      ,[CreatedOnDate]
      ,[LastModifiedByUserID]
      ,[LastModifiedOnDate]
  FROM [DNN56].[dbo].[DNN_HostSettings]
  where
  [SettingName] = 'PasswordExpiryReminder'

) 但实际上 Web 用户界面始终显示“7”,尽管值存储在数据库中。

编辑:

我做了一些进一步的测试,发现读取 PasswordConfig 的属性 PasswordExpiryReminder 的值总是返回 7!

int i = DotNetNuke.Security.Membership.PasswordConfig.PasswordExpiryReminder;

所以我把它变成了

int i = DotNetNuke.Entities.Controllers.HostController.Instance.GetInteger("PasswordExpiryReminder");

这一次它返回-1(因为我没有使用提供默认值的重载)。

然后我闪了一下,转到 SSMS 并复制列 SettingName 的值并将其粘贴到 Visual Studio 中。

int i = DotNetNuke.Entities.Controllers.HostController.Instance.GetInteger("PasswordExpiryReminder ");

注意尾随空格?并使用此代码返回存储在表中的实数。看看有人有bug。

于 2012-01-13T12:38:31.050 回答