UserNamePasswordValidator和缓存结果

时间:2011-05-13 19:03:58

标签: c# .net wcf

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

我会选择Dictionary<UserName, SecureString>

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

答案 1 :(得分:1)

您可以将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 
           }
    }