用户名密码验证程序和缓存结果

本文关键字:缓存 结果 程序 验证 密码 用户 | 更新日期: 2023-09-27 17:56:18

我有一个UserNamePasswordValidator,它命中数据库以验证请求对wcfclientcredentials是否有效。

我开始意识到我不想每次打电话时都点击数据库。

缓存结果的最佳方法是什么?

即如果我已经知道用户名/通行证有效,为什么要一遍又一遍地检查它?

用户名密码验证程序和缓存结果

虽然我同意mellamokb的评论,但如果你真的想这样做......

我会去Dictionary<UserName, SecureString>

另外,您必须确保在密码更改的情况下更新字典

您可以将username/password缓存在dictionary中,username作为键,password作为值。

Dictionary<string, string> userName_Pwd_Cache = new Dictionary<string, string>();
//caching username/password code
    if(userName_Pwd_Cache.ContainsKey(userNameVar)) //let userNameVar is entered username
    {
           if(userName_Pwd_Cache[userNameVar] == passwordVar) //let passwordVar is entered passwords
           {
               //user authenticated
           }
           else
           {
               //authentication failed 
           }
    }