您的位置:首页 > 其它

一步一步建立我的MIS系统:用户管理UserMan

2005-12-21 10:21 459 查看
using System;
using System.Collections;
using System.Data;
using EwEAI.Data;
namespace EwEAI.Business.Classes.IT
{
public class UserMan:BusinessObject
{
public UserMan()
: base("Users")
{
}
public static bool IsValidUser()
{
DataTable table = DBWR.Instance.ReadData("select * from Users where username='" + UserName
+ "' and password='" + Password + "'");
if (table.Rows.Count == 0)
return false;
if (table.Rows[0]["UserName"].ToString() != UserName
|| table.Rows[0]["Password"].ToString() != Password)
return false;
return true;
}
public static string UserName
{
get
{
return _UserName;
}
set
{
_UserName = value;
}
}
private static string _UserName = null;
public static string Password
{
get
{
return _Password;
}
set
{
_Password = value;
}
}
private static string _Password = null;
protected override void ProcessBusinessFlow(DataSet set)
{

}

public void ModifyPassword(string Password)
{
string SQL = "update Users set Password='" + Password + "' where UserName='" + UserName + "'";
DBWR.Instance.ExecSQL(SQL);
}
public DataTable TablePrivileges
{
get
{
return BusinessData.Tables["V_TablePrivileges"];
}
}
public DataTable ProgramPrivileges
{
get
{
return BusinessData.Tables["V_ProgramPrivileges"];
}
}
public DataTable FieldPrivileges
{
get
{
return BusinessData.Tables["V_FieldPrivileges"];
}
}
public bool ProgramHasPrintPrivilege(string ProgramName)
{
if (_ProgramPrivileges[ProgramName] == null)
{
_ProgramPrivileges[ProgramName] = GetProgramPrivilege(ProgramName);
}
ProgramPrivilegeStruct Privilege = (ProgramPrivilegeStruct)_ProgramPrivileges[ProgramName];
return Privilege.PrintPrivilege == EwEAI.Data.IT.PrivilegeType.GrantPrint;
}
private Hashtable _ProgramPrivileges = new Hashtable();
class ProgramPrivilegeStruct
{
public ProgramPrivilegeStruct(string ProgramName, EwEAI.Data.IT.PrivilegeType RunPrv, EwEAI.Data.IT.PrivilegeType PrintPrv)
{
_ProgramName = ProgramName;
_RunPrivilege = RunPrv;
_PrintPrivilege = PrintPrv;
}
public ProgramPrivilegeStruct()
{
}
public string ProgramName
{
get
{
return _ProgramName;
}
set
{
_ProgramName = value;
}
}
private string _ProgramName = null;
public EwEAI.Data.IT.PrivilegeType RunPrivilege
{
get
{
return _RunPrivilege;
}
set
{
_RunPrivilege = value;
}
}
private EwEAI.Data.IT.PrivilegeType _RunPrivilege = EwEAI.Data.IT.PrivilegeType.DenyRun;
public EwEAI.Data.IT.PrivilegeType PrintPrivilege
{
get
{
return _PrintPrivilege;
}
set
{
_PrintPrivilege = value;
}
}
private EwEAI.Data.IT.PrivilegeType _PrintPrivilege = EwEAI.Data.IT.PrivilegeType.DenyPrint;
}

public bool ProgramHasRunPrivilege(string ProgramName)
{
if (_ProgramPrivileges[ProgramName] == null)
{
_ProgramPrivileges[ProgramName] = GetProgramPrivilege(ProgramName);
}
ProgramPrivilegeStruct Privilege = (ProgramPrivilegeStruct)_ProgramPrivileges[ProgramName];
return Privilege.RunPrivilege == EwEAI.Data.IT.PrivilegeType.GrantRun;
}
private ProgramPrivilegeStruct GetProgramPrivilege(string ProgramName)
{
ProgramPrivilegeStruct Result = new ProgramPrivilegeStruct();
Result.ProgramName = ProgramName;
string SQL = "select top 1 RunPrivilege,PrintPrivilege from ( "
+ " select P.RunPrivilege,P.PrintPrivilege,U.Level from ProgramPrivileges P "
+ " join UserTree('" + UserName + "',1) U "
+ " on P.UserName=U.UserName "
+ " where P.ProgramName='" + ProgramName + "'"
+ " ) a "
+ " order by Level ";
DataTable table = TempTable.Instance.GetData(SQL);
if (table == null)
{
Result.RunPrivilege = EwEAI.Data.IT.PrivilegeType.DenyRun;
Result.PrintPrivilege = EwEAI.Data.IT.PrivilegeType.DenyPrint;
return Result;
}
if (table.Rows.Count == 0)
return Result;
if (table.Rows[0]["RunPrivilege"] is DBNull)
{
Result.RunPrivilege = EwEAI.Data.IT.PrivilegeType.DenyRun;
}
else if (Int32.Parse(table.Rows[0]["RunPrivilege"].ToString()) == (int)EwEAI.Data.IT.PrivilegeType.GrantRun)
{
Result.RunPrivilege = EwEAI.Data.IT.PrivilegeType.GrantRun;
}
if (table.Rows[0]["PrintPrivilege"] is DBNull)
{
Result.PrintPrivilege = EwEAI.Data.IT.PrivilegeType.DenyPrint;
}
else if (Int32.Parse(table.Rows[0]["PrintPrivilege"].ToString()) == (int)EwEAI.Data.IT.PrivilegeType.GrantPrint)
{
Result.PrintPrivilege = EwEAI.Data.IT.PrivilegeType.GrantPrint;
}
return Result;
}
protected override void AfterFill()
{
DataColumn[] Parents = null;
DataColumn[] Sons = null;
MasterTable.ChildRelations.Add(new DataRelation("表权限",
MasterTable.Columns["UserName"],
TablePrivileges.Columns["UserName"])
);
MasterTable.ChildRelations.Add(new DataRelation("程序权限",
MasterTable.Columns["UserName"],
ProgramPrivileges.Columns["UserName"])
);
Parents = new DataColumn[] { TablePrivileges.Columns["TableName"], TablePrivileges.Columns["UserName"] };
Sons = new DataColumn[] { FieldPrivileges.Columns["TableName"], FieldPrivileges.Columns["UserName"] };
TablePrivileges.ChildRelations.Add(new DataRelation("字段权限",
Parents,
Sons)
);
_TableCaptions.Clear();
_TableCaptions["Users"] = "用户管理";
_TableCaptions["V_ProgramPrivileges"] = "程序权限";
_TableCaptions["V_FieldPrivileges"] = "字段权限";
_TableCaptions["V_TablePrivileges"] = "表权限";
}
protected override void InializeStruct()
{

//表权限
ChildData AChild = new ChildData(new DataObject("V_TablePrivileges", UserName),
"表权限",
new string[] { "UserName" },
new string[] { "UserName" },
TableName);
Children[AChild.TableName] = AChild;
//字段权限
AChild = new ChildData(new DataObject("V_FieldPrivileges", UserName),
"字段权限",
new string[] { "UserName", "TableName" },
new string[] { "UserName", "TableName" },
"V_TablePrivileges");
Children[AChild.TableName] = AChild;
//程序权限
AChild = new ChildData(new DataObject("V_ProgramPrivileges", UserName),
"程序权限",
new string[] { "UserName" },
new string[] { "UserName" },
TableName);
Children[AChild.TableName] = AChild;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: