パスワード有効期限のリマインダーを 14 日または XX 日に設定し、[更新] をクリックしました。それから私はそれをもう一度見て、7日間のデフォルト値を示しました. Password Expiry Reminder (in days) フィールドを更新することはありません。DNN にバグがありますか。
7日未満の日数に変更してみましたが、それも設定されていません。
どうすればいいのか教えてください。お願いします
モーシン JK さん、ありがとうございます。
パスワード有効期限のリマインダーを 14 日または XX 日に設定し、[更新] をクリックしました。それから私はそれをもう一度見て、7日間のデフォルト値を示しました. Password Expiry Reminder (in days) フィールドを更新することはありません。DNN にバグがありますか。
7日未満の日数に変更してみましたが、それも設定されていません。
どうすればいいのか教えてください。お願いします
モーシン JK さん、ありがとうございます。
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 ");
末尾のスペースに注意してください。このコードでは、テーブルに格納されている実数が返されます。誰かがバグを持っているように見えます。
これは DotNetNuke のバグのようです。自分の Web サイトで再現しました。
これを問題として Gemini に追加しましたhttp://support.dotnetnuke.com/issue/ViewIssue.aspx?id=19436&PROJID=2
私も回避策を考え出すことができるかどうかを確認しています。