本帖最后由 David.Zhong 于 2022-3-31 15:28 编辑
参考了官方的范例https://gcdn.grapecity.com.cn/fo ... 1981&extra=page%3D1
帮你打开活字格更神奇的功能:五十四,第三方用户集成(泛微用户集成) - 活字格专区 - 专题教程 - 葡萄城产品技术社区 (grapecity.com.cn)
基本可以正常工作。
但碰到一个奇怪问题,原数据库中的用户名是大写的,如果登录用小写怎么也不成功,还请帮助。谢谢
登录验证应该使用VerifyUser方法,已经在取到的用户名加了ToUpper()
代码如下:
public User VerifyUser(Dictionary<string, string> properties)
{
var config = LoadConfig();
var userName = properties["userName"].ToString().ToUpper();
var password = properties["password"];
string constr = "Server=" + config.ServerName + ";database=" + config.Database + ";uid=" + config.UserName + ";pwd=" + config.Password + ";";
//string constr = "Server=********;database=ecology_demo;uid=sa;pwd=xA123456";
SqlConnection con = new SqlConnection(constr);
con.Open();
string sql = string.Format("select * from Base_UserInfo where [User_Account] = '{0}'", userName);
var loginTable = GetDataTable(sql, con);
try
{
for (int i = 0; i < loginTable.Rows.Count; i++)
{
var login = loginTable.Rows;
var loginid = login["User_ID"].ToString();
var userpassword = login["User_Pwd"].ToString();
if (userName != null && password != null)
{
var md5password = GetMD5(password);
if (userpassword.ToUpper() == md5password.ToUpper())
{
return new User
{
UserId = userName,
FullName = userName
};
}
}
return null;
}
return null;
}
catch (Exception)
{
throw;
}
finally
{
con.Close();
}
}
|