You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

136 lines
3.6 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections.Generic;
using System.Data;
using BP.DA;
using BP.Sys;
namespace BP.En
{
/// <summary>
/// 访问控制
/// </summary>
public class UAC
{
#region 常用方法
public void Readonly()
{
this.IsUpdate = false;
this.IsDelete = false;
this.IsInsert = false;
this.IsAdjunct = false;
this.IsView = true;
}
/// <summary>
/// 全部开放
/// </summary>
public void OpenAll()
{
this.IsUpdate = true;
this.IsDelete = true;
this.IsInsert = true;
this.IsAdjunct = false;
this.IsView = true;
}
/// <summary>
/// 为一个角色设置全部的权限
/// </summary>
/// <param name="fk_station"></param>
public void OpenAllForStation(string fk_station)
{
Paras ps = new Paras();
ps.Add("FK_Emp",BP.Web.WebUser.No);
ps.Add("st", fk_station);
bool bl;
bl = DBAccess.IsExits("SELECT FK_Emp FROM Port_DeptEmpStation WHERE FK_Emp=" + BP.Difference.SystemConfig.AppCenterDBVarStr + "FK_Emp AND FK_Station=" + BP.Difference.SystemConfig.AppCenterDBVarStr + "st", ps);
if (bl)
this.OpenAll();
else
this.Readonly();
}
/// <summary>
/// 仅仅对管理员
/// </summary>
public UAC OpenForSysAdmin()
{
// if (BP.Web.WebUser.No.Equals("admin") == true)
if (BP.Web.WebUser.IsAdmin)
this.OpenAll();
return this;
}
public UAC OpenForAppAdmin()
{
/*if (BP.Web.WebUser.No != null
&& BP.Web.WebUser.No.Contains("admin") == true)*/
if (BP.Web.WebUser.IsAdmin)
{
this.OpenAll();
}
return this;
}
public UAC OpenForAdmin()
{
/*if (BP.Web.WebUser.No != null
&& BP.Web.WebUser.IsAdmin == true)*/
if (BP.Web.WebUser.IsAdmin)
{
this.OpenAll();
}
else
{
this.Readonly();
}
return this;
}
#endregion
#region 控制属性
/// <summary>
/// 是否插入
/// </summary>
public bool IsInsert = false;
/// <summary>
/// 是否删除
/// </summary>
public bool IsDelete = false;
/// <summary>
/// 是否更新
/// </summary>
public bool IsUpdate = false;
/// <summary>
/// 是否查看
/// </summary>
public bool IsView = true;
/// <summary>
/// 附件
/// </summary>
public bool IsAdjunct = false;
/// <summary>
/// 是否可以导出
/// <para>注意要启用导出权限控制请使用uac.IsExp = UserRegedit.HaveRoleForExp(this.ToString());</para>
/// </summary>
public bool IsExp = false;
/// <summary>
/// 是否可以导入
/// <para>注意要启用导入权限控制请使用uac.IsImp = UserRegedit.HaveRoleForImp(this.ToString());</para>
/// </summary>
public bool IsImp = false;
#endregion
#region 构造
/// <summary>
/// 用户访问
/// </summary>
public UAC()
{
}
#endregion
}
}