From 26b62961ce34bd91ba72560017d166502154aae8 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期六, 01 三月 2025 09:13:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
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