找回密码
 立即注册

QQ登录

只需一步,快速开始

jetqian

注册会员

12

主题

28

帖子

144

积分

注册会员

积分
144
jetqian
注册会员   /  发表于:2022-3-31 14:59  /   查看:1339  /  回复:1
1金币
本帖最后由 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();
            }
        }

最佳答案

查看完整内容

大佬,程序看起来好像没啥问题,你调试看一下进这一步方法没?

1 个回复

倒序浏览
最佳答案
最佳答案
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-3-31 14:59:37
来自 2#
大佬,程序看起来好像没啥问题,你调试看一下进这一步方法没?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部