From 24338804205169eec8e80d491ce0b0602fc13a7d Mon Sep 17 00:00:00 2001 From: zzr99 <1940172413@qq.com> Date: 星期一, 18 十月 2021 17:45:31 +0800 Subject: [PATCH] 权限改方法 --- Pub_Class/CustomerCls/ClsPub.cs | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 110 insertions(+), 0 deletions(-) diff --git a/Pub_Class/CustomerCls/ClsPub.cs b/Pub_Class/CustomerCls/ClsPub.cs index 093a9b1..e18a52c 100644 --- a/Pub_Class/CustomerCls/ClsPub.cs +++ b/Pub_Class/CustomerCls/ClsPub.cs @@ -814,6 +814,116 @@ } } + public static bool Security_Log_second(string gnsy, int LogTF, bool Msg, string CurUserName) + { + //gnsy 鍔熻兘绱㈠紩,妯″潡 + //usercode 褰撳墠鐢ㄦ埛浠g爜 + //LogTF 1鍒ゆ柇鏉冮檺骞跺啓鏃ュ織锛�2鍙啓鏃ュ織锛�3鍙垽鏂潈闄� + //Msg 娌℃湁鏉冮檺鏃� 鏄惁鎻愮ず妗� + string UserID = CurUserName; + try + { + ClsSqlHelper oCn = new ClsSqlHelper(); + DataSet Ds = new DataSet(); + DataSet DsUser = new DataSet(); + DataSet DsJS = new DataSet();//瑙掕壊 + long ModID = 0; + bool HavRight = false; + //鎵惧埌妯″潡鏉冮檺 + Ds = oCn.RunProcReturn("select * from xt_xtgnb where gnsy='" + gnsy.Trim() + "'", "xt_xtgnb"); + if (Ds.Tables[0].Rows.Count == 0) + { + if (Msg == true) + { + return false; + //MessageBox.Show("娌℃湁鎵惧埌璇ュ姛鑳芥ā鍧楋紒", "鎻愮ず"); + } + return false; + } + else + { + ModID = ClsPub.isLong(Ds.Tables[0].Rows[0]["ID"].ToString()); //杩斿洖妯″潡 + } + if (LogTF == 1 || LogTF == 3)//闇�瑕佸垽鏂潈闄� + { + //鏍规嵁鐢ㄦ埛鍚嶇О鍒ゆ柇鏉冮檺 + DsUser = oCn.RunProcReturn("select * from gy_czygl where czymc='" + UserID.Trim() + "'", "gy_czygl"); + if (DsUser.Tables[0].Rows.Count == 0) + { + if (Msg == true) + { + return false; + //MessageBox.Show("娌℃湁鎵惧埌褰撳墠鎿嶄綔鍛橈紒", "鎻愮ず"); + } + return false; + } + //鏍规嵁鐢ㄦ埛鍚嶇О鍒ゆ柇鏉冮檺 + if ((bool)DsUser.Tables[0].Rows[0]["ManagerFlag"]) //鏄惁绠$悊鍛� + { + HavRight = true; + } + else + { + if (DsUser.Tables[0].Rows[0]["AuthorityID"].ToString().Trim().Substring((int)ModID - 1, 1) == "1") + { + HavRight = true; + } + else + { + //鑾峰彇鐢ㄦ埛缁� 骞跺惊鐜垽鏂潈闄� + //鍒ゆ柇瑙掕壊鏄惁鏈夋潈闄� + DsJS = oCn.RunProcReturn("select isnull(AuthorityID,'') AuthorityID from System_UserGroupinfo a inner join System_UserGroup b on a.GroupID=b.GroupID " + + " Where a.USERID='" + UserID.Trim() + "'", "gy_czygl"); + if (DsJS == null) + { + HavRight = false; + } + else + { + HavRight = false; + for (int i = 0; i < DsJS.Tables[0].Rows.Count; i++) + { + if (ClsPub.isStrNull(DsJS.Tables[0].Rows[i]["AuthorityID"]).Length > ModID) + { + if (DsJS.Tables[0].Rows[i]["AuthorityID"].ToString().Trim().Substring((int)ModID - 1, 1) == "1") + { + HavRight = true; + break; + } + } + } + + } + } + } + + if (HavRight == false) + { + if (Msg == true) + { + return false; + //MessageBox.Show("鎮ㄦ病鏈夋潈闄�,璇蜂笌绠$悊鍛樿仈绯伙紒", "鎻愮ず"); + } + } + } + //闇�瑕佸啓鍏ユ棩蹇� + if ((LogTF == 1 && HavRight) || LogTF == 2) + { + Add_Log(Ds.Tables[0].Rows[0]["id"].ToString().Trim(), gnsy + "," + Ds.Tables[0].Rows[0]["gnmc"].ToString().Trim(), CurUserName); + } + return HavRight; + } + catch (Exception e) + { + if (Msg == true) + { + return false; + //MessageBox.Show("鍒ゆ柇鏉冮檺鏃跺彂鐜伴敊璇�,璇蜂笌绠$悊鍛樿仈绯伙紒", "鎻愮ず"); + } + return false; + } + } + //鍒ゆ柇鏄兘瀛樺湪鏉冮檺,骞跺啓鍏ユ棩蹇� public static bool Security_Log(string gnsy, int LogTF, bool Msg, string CurUserName, ClsSqlHelper oCn) { -- Gitblit v1.9.1