📄 basepage.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Text;
//Minter
public class UserType
{
public static int CanCreateOrder = 0;
public static int CanConfirmReceive = 1;
public static int CanInputTransportInfo = 2;
public static int CanReplayRequire = 3;
public static int CanCloseOrder = 4;
public static int Admin = 5;//要求管理员权限
public static int UserKindNuber = 6;//用户类型数量
}
public class BasePage : System.Web.UI.Page
{
int employessID;
string ticket = string.Empty;
public string error_Message = string.Empty;
Encoder encoder;
User userData = new User(); //存储用户信息
PageDesc pageInfo; //储存当前页面信息
bool[] currentUserRoles = new bool[UserType.UserKindNuber];//User拥有的权限
bool[] currentPageRoles; //哪些用户权限能够访问当前页面
public int EmployessID
{
get { return employessID; }
//set { employessID = value; }
}
public string Ticket
{
get
{
return ticket;
}
//set { ticket = value; }
}
public string Error_Message
{
get { return error_Message; }
set { error_Message = value; }
}
public User UserData
{
get { return userData; }
//set { userData = value; }
}
public PageDesc PageInfo
{
get { return pageInfo; }
//set { pageInfo = value; }
}
protected override void OnInit(EventArgs e)
{
this.Role();
base.OnInit(e);
}
protected void Role()
{
bool IsOwnerRole = false; //用户是否拥有访问该页面权限
string temp = SessionManager.GetSessionString("EmployessID").Trim();
if (temp == string.Empty || temp.Length < 1 || temp == "")
{ //如果用户没有登录或过期
Response.Redirect("~" + PageNames.m_strPB01);//返回登录页面
}
else
{
ticket = SessionManager.GetSessionString("Ticket");
SessionManager.SetSessionString("Ticket", ticket);
SessionManager.SetSessionString("EmployessID", temp);
employessID = Convert.ToInt32(temp);
GetUserData();//获取用户数据
currentPageRoles = GetCurrentPageRoles(); //获取当前页面权限
for (int count = 0; count < currentUserRoles.Length; count++)
{
if (currentUserRoles[count] && currentPageRoles[count])
{
IsOwnerRole = true;
break;
}
}
if (!IsOwnerRole)
{
Response.Redirect("~" + PageNames.m_strPB06);//Error.aspx根据Message值显示错误信息
}
}
}
public void GetUserData()
{
try
{
//访问Websevrice获取用户数据
WebService.VinciService vinciService = new WebService.VinciService();
WebService.EmployeesEntity employeeData = vinciService.GetEmployeesEntity(employessID, employessID, ticket, out error_Message);
WebService.OrganizationsEntity organizationData = vinciService.GetOrganizationInfo(employeeData.OrgID, employessID, ticket, out error_Message);
//将用户数据存入userData
userData.EmployeeID = employeeData.EmployeeID;
userData.OrgID = employeeData.OrgID;
userData.LoginName = employeeData.LoginName;
userData.FirstName = employeeData.FirstName;
userData.LastName = employeeData.LastName;
//CanCreateOrder
if (organizationData.CanCreateOrder == 1)
userData.CanCreateOrder = true;
else
userData.CanCreateOrder = false;
//CanRelayRequire
if (organizationData.CanRelayRequire == 1)
userData.CanReplayRequire = true;
else
userData.CanReplayRequire = false;
//CanInputTransportInfo
if (organizationData.CanInputTransportInfo == 1)
userData.CanInputTransportInfo = true;
else
userData.CanInputTransportInfo = false;
//CanConfirmReceive
if (organizationData.CanConfirmReceive == 1)
userData.CanConfirmReceive = true;
else
userData.CanConfirmReceive = false;
//CanCloseOrder
if (organizationData.CanCloseOrder == 1)
userData.CanCloseOrder = true;
else
userData.CanCloseOrder = false;
//IsAdmin
if (organizationData.OrgID == 0)
userData.IsAdmin = true;
else
userData.IsAdmin = false;
MakecurrentUserRoles(userData); //获取用户权限
}
catch (Exception ex)
{
Response.Redirect("~" + PageNames.m_strPB06 + "?ErrorNumber=10");//返回错误页面
}
}
/// <summary>
/// 获取用户权限数组
/// </summary>
/// <param name="userData"></param>
protected void MakecurrentUserRoles(User userData)
{
currentUserRoles[UserType.CanCreateOrder] = userData.CanCreateOrder;
currentUserRoles[UserType.CanConfirmReceive] = userData.CanConfirmReceive;
currentUserRoles[UserType.CanInputTransportInfo] = userData.CanInputTransportInfo; ;//拥有访问CanInputTransportInfo页面权限
currentUserRoles[UserType.CanReplayRequire] = userData.CanReplayRequire; ;//拥有访问CanReplayRequire页面权限
currentUserRoles[UserType.CanCloseOrder] = userData.CanCloseOrder;//拥有访问CanCloseOrder页面权限
currentUserRoles[UserType.Admin] = userData.IsAdmin;////拥有访问管理员页面权限
}
/// <summary>
/// 获取有哪些用户权限能够访问当前页
/// </summary>
/// <returns></returns>
public bool[] GetCurrentPageRoles()
{
try
{
string CurrentPageName = Request.Url.LocalPath.ToString().Trim();
foreach (PageDesc p in PagesRoles.pageRoles)
{
if ((Request.ApplicationPath + p.PageName) == CurrentPageName)
{
pageInfo = p;
return p.PageRules;
}
}
}
catch (Exception ex)
{
//SessionManager.SetSessionString("ErrorMessage", ex.Message);
}
bool[] none = { false, false, false, false, false, true };
return none;
}
protected void GetTichet()
{
//ticket = string.Empty;
//Service1 s1 = new Service1();
//s1.CheckLogon(userData.LoginName, userData.Password, out ticket);
//SessionManager.SetSessionString("Ticket", ticket);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -