用户名密码验证程序和缓存结果
本文关键字:缓存 结果 程序 验证 密码 用户 | 更新日期: 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
}
}