⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 assignrights.cs

📁 一套OA系统,使用SQL Server为后台数据库ASP.NET C#语言开发
💻 CS
字号:
using System;
using System.Data;
using System.Data.SqlClient;

namespace UDS.Components
{
	enum AssignRightsAction
	{
		RULE_ADD    =1,
		RULE_DELETE =2,
		ACTIVITY_ADD =3,
		ACTIVITY_DELETE =4,
		ACTIVITY_UPDATE  =5
	};
	/// <summary>
	/// 对权限的操作
	/// </summary>
	public class AssignRights
	{
		#region 添加权限
		/// <summary>
		/// 添加权限
		/// </summary>
		/// <param name="SrcID"></param>
		/// <param name="ObjID"></param>
		/// <param name="BaseOn"></param>
		/// <param name="ProcID"></param>
		/// <returns></returns>
		public int AddRight(long SrcID,long ObjID,int BaseOn,int ProcID) 
		{
			int iReturn=1;
			UDS.Components.Database mySQL = new UDS.Components.Database();
			try
			{

				SqlParameter[] parameters = {
												mySQL.MakeInParam("@Act_ID",	SqlDbType.Int,	4,ProcID),
												mySQL.MakeInParam("@Based_On",	SqlDbType.Int,	4,BaseOn),
												mySQL.MakeInParam("@Src_ID",	SqlDbType.Int,	4,SrcID),
												mySQL.MakeInParam("@Obj_ID",	SqlDbType.Int,	4,ObjID)											

										};					
				mySQL.RunProc("sp_AddAssignRule",parameters);				
			}
			catch(Exception e)
			{
				Error.Log(e.ToString());
			}
			finally
			{
				mySQL.Close();
				mySQL = null;	
			}
			return iReturn;
			

		}
		#endregion

		#region 删除权限
		/// <summary>
		/// 删除权限
		/// </summary>
		/// <param name="RuleIDs">权限记录号</param>
		public int DeleteRight(string RuleIDs) 
		{
			int iReturn=1;
			UDS.Components.Database mySQL = new UDS.Components.Database();
			try
			{

				SqlParameter[] parameters = {
												mySQL.MakeInParam("@Rule_IDS",SqlDbType.VarChar ,300,RuleIDs)
																					
											};
				mySQL.RunProc("sp_DeleteAssignRule",parameters);		
			}
			catch(Exception e)
			{
				Error.Log(e.ToString());
			}
			finally
			{
				//mySQL.Close();
				//mySQL = null;	
			}
			return iReturn;
			

		}
		#endregion
		
		#region 获得权限列表
		/// <summary>
		/// 获得权限列表
		/// </summary>
		/// <param name="UserName">用户名</param>
		/// <param name="ClassID">权限对象</param>
		/// <param name="dr">返回DataReader</param>
		/// <returns>整形是否成功</returns>
		public int GetProcessList(string UserName,long ClassID,out SqlDataReader dr) 
		{
			int iReturn=1;
			UDS.Components.Database mySQL = new UDS.Components.Database();
			SqlParameter[] parameters = {
											mySQL.MakeInParam("@UserName",SqlDbType.VarChar ,300,UserName),
											mySQL.MakeInParam("@ClassID",SqlDbType.Int,4,ClassID)											
										};
			dr = null;
			try
			{
				mySQL.RunProc("sp_GetRightListToClass",parameters,out dr);		
			}
			catch(Exception e)
			{
				Error.Log(e.ToString());
			}
			finally
			{
				//mySQL.Close();
				//mySQL = null;	
			}
			return iReturn;
			

		}
		#endregion

		#region 获得权限列表
		/// <summary>
		/// 获得权限列表
		/// </summary>
		/// <param name="UserName">用户名</param>
		/// <param name="ClassID">权限对象</param>
		/// <param name="dr">返回DataTable</param>
		/// <returns>整形是否成功</returns>
		public int GetProcessList(string UserName,long ClassID,out DataTable dt) 
		{
			int iReturn=1;
			SqlDataReader dr;
			UDS.Components.Database mySQL = new UDS.Components.Database();
			SqlParameter[] parameters = {
											mySQL.MakeInParam("@UserName",SqlDbType.VarChar ,300,UserName),
											mySQL.MakeInParam("@ClassID",SqlDbType.Int,4,ClassID)											
										};
			dt = null;
			try
			{
				mySQL.RunProc("sp_GetRightListToClass",parameters,out dr);		
				dt = UDS.Components.Tools.ConvertDataReaderToDataTable(dr);
				
			}
			catch(Exception e)
			{
				Error.Log(e.ToString());
			}
			finally
			{
				//mySQL.Close();
				//mySQL = null;	
			}
			return iReturn;
			

		}
		#endregion

		#region 判断用户对对象是否有某个权限
		/// <summary>
		/// 判断用户对对象是否有某个权限
		/// </summary>
		/// <param name="UserName">用户名</param>
		/// <param name="classID">被检查的对象</param>		
		/// <param name="actID">权限ID</param>
		/// <returns>是否有权限</returns>
		public bool GetAccessPermission(string UserName,int classID,int actID)
		{
			int flag = 0;
			// 定义数据库操作类及DataReader
			Database data = new Database();
				
			// 执行存储过程,并返回SqlDataReader对象
			SqlParameter[] prams = {
									   data.MakeInParam("@Class_ID" , SqlDbType.Int, 20, classID),
									   data.MakeInParam("@UserName" , SqlDbType.NVarChar, 20, UserName),
									   data.MakeInParam("@Act_ID" , SqlDbType.Int, 20, actID),
									   // data.MakeInParam("@Inheit" , SqlDbType.Bit, 1, 1),	
									   data.MakeOutParam("@ReturnValue",SqlDbType.Int,20)
								   };
			
			try 
			{
				data.RunProc("sp_GetAccessPermission",prams);
				flag = Int32.Parse(prams[3].Value.ToString());
				return (flag==1)?true:false;
			}
			catch(Exception ex)
			{
				Error.Log(ex.ToString());
				throw new Exception("获取访问权出错",ex);
			}
			finally
			{
				data	   = null;
			}
			
		}
		#endregion

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -