From ff9ed3c4bec30fb6a9caedb5350b83703a515723 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期五, 21 二月 2025 08:18:29 +0800 Subject: [PATCH] 11 --- StandardPda/MES.Service/service/LoginService.cs | 88 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 88 insertions(+), 0 deletions(-) diff --git a/StandardPda/MES.Service/service/LoginService.cs b/StandardPda/MES.Service/service/LoginService.cs new file mode 100644 index 0000000..be647dc --- /dev/null +++ b/StandardPda/MES.Service/service/LoginService.cs @@ -0,0 +1,88 @@ +锘縰sing System.Data; +using System.Text; +using MES.Service.DB; + +namespace MES.Service.service; + +public class LoginService +{ + public static OracleSQLHelper SQLHelper = new(); + + public DataTable login(string name, string pwd) + { + var sql = + string.Format(@"select * from SYS_USER where FCODE = '{0}'", + name); + var dataTable = SQLHelper.ExecuteQuery(sql); + if (dataTable.Rows.Count <= 0) throw new Exception("鐢ㄦ埛涓嶅瓨鍦�"); + + var row = dataTable.Rows[0]; + var db_password = row["FPASSWORD"].ToString(); + db_password = ProPass(db_password); + if (!pwd.Equals(db_password)) throw new Exception("鐢ㄦ埛鍚嶆垨鑰呭瘑鐮侀敊璇�"); + + return dataTable; + } + + public DataTable getUserMenu(string name) + { + var sql = ""; + + if ("PL017".Equals(name)) + sql = "select PAGE_VIEW,PATH,ICOIMG from MES_SYS_PAGEVIEW"; + else + sql = string.Format(@"select PAGE_VIEW,PATH,ICOIMG + from (select PAGE_VIEW,PATH,ICOIMG + from MES_SYS_GUP_USER a + join MES_SYS_PAGEVIEW b on a.PAGEID = b.ID + join SYS_USER_ROLE c on to_char(c.ROLEID) = a.ROLEID + where USERID = (select fid from SYS_USER where FCODE = '{0}') + union all + select PAGE_VIEW,PATH,ICOIMG + from MES_SYS_GUP_USER a + join MES_SYS_PAGEVIEW b on a.PAGEID = b.ID + where a.ROLEID = (select FCODE from SYS_USER where FCODE = '{0}')) + group by PATH, PAGE_VIEW, ICOIMG", name); + + return SQLHelper.ExecuteQuery(sql); + } + + public int resetPassword(string newPwd, string name, string pwd) + { + login(name, pwd); + var passwordHash = encryptPass(newPwd); + var sql = string.Format( + @"update SYS_USER set FPASSWORD = '{0}' where FCODE = '{1}'", + passwordHash, + name); + return SQLHelper.ExecuteNonQuery(sql); + } + + private string encryptPass(string str) + { + var b = Encoding.GetEncoding("iso-8859-1").GetBytes(str); + var temp = (byte[])b.Clone(); + for (var i = 0; i < b.Length; i++) temp[i] = (byte)(b[i] ^ (8 + 18)); + + var result = + 8 + Encoding.GetEncoding("iso-8859-1").GetString(temp); + return result; + } + + + private string ProPass(string src) + { + var result = ""; + var first = int.Parse(src.Substring(0, 1)); + var src_tem = src.Substring(1); + var b = Encoding.GetEncoding("iso-8859-1") + .GetBytes(src_tem); + var temp = (byte[])b.Clone(); + for (var i = 0; i < b.Length; i++) + temp[i] = (byte)(temp[i] ^ (first + 18)); + + result = Encoding.GetEncoding("iso-8859-1") + .GetString(temp); + return result; + } +} \ No newline at end of file -- Gitblit v1.9.3