📄 users.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/// <summary>
/// Summary description for Admin
/// </summary>
public class Users
{
public Users()
{
}
public static bool AccessAdmin()
{
return true;
}
public static string PageFileNotFound()
{
return "~/ErrorPages/FileNotFound.aspx";
}
public static string PageAccessDeny()
{
return "~/ErrorPages/NoAccess.aspx";
}
public static string PageLogin()
{
return "~/AdminLogin.aspx";
}
public static string GetCurrentUserName()
{
return LoadUser().UserName;
}
public static string GetCurrentUserID()
{
return LoadUser().UserID;
}
public static string GetCurrentUserRole()
{
return LoadUser().Role;
}
public static string GetCurrentTableID()
{
return LoadUser().TableID;
}
/// <summary>
/// cookie名称
/// </summary>
private static readonly string SessionUserStr = "SessionUserStr";
/// <summary>
/// 验证是否登陆状态
/// </summary>
/// <returns></returns>
public static bool IsLogin()
{
ExpReserve.UserAuthority user = LoadUser();
return user != null && !string.IsNullOrEmpty(user.UserID);
}
#region Session operations
public static void SaveUser(ExpReserve.UserAuthority userAuth)
{
//string userStr = userAuth == null ? string.Empty :ExpReserve.Utility.IFormatterTo(userAuth);
if (System.Web.HttpContext.Current == null)
return;
//System.Web.HttpCookie cookie = new System.Web.HttpCookie(CookieUserStr, userStr);
//cookie.Expires = DateTime.Now.AddHours(1);//一小时
if (System.Web.HttpContext.Current.Session[SessionUserStr] != null)
{
System.Web.HttpContext.Current.Session.Remove(SessionUserStr);
}
System.Web.HttpContext.Current.Session.Add(SessionUserStr, userAuth);
// System.Web.HttpContext.Current.Request.Cookies.Add(cookie);
//System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
}
public static void Logout()
{
if (System.Web.HttpContext.Current.Session[SessionUserStr] != null)
{
System.Web.HttpContext.Current.Session.Remove(SessionUserStr);
}
}
private static ExpReserve.UserAuthority LoadUser()
{
//string strRet = string.Empty;
if (System.Web.HttpContext.Current == null)
return null;
//System.Web.HttpCookie cookie = System.Web.HttpContext.Current.Request.Cookies[CookieUserStr];
//if (cookie != null)
// strRet = cookie.Value;
//if (string.IsNullOrEmpty(strRet))
// return null;
//else
//{
// string err_msg;
// return ExpReserve.Utility.IFormatterFrom(strRet, out err_msg) as ExpReserve.UserAuthority;
//}
if (null == System.Web.HttpContext.Current.Session["SessionUserStr"])
{
return null;
}
return (System.Web.HttpContext.Current.Session["SessionUserStr"] as ExpReserve.UserAuthority);
}
#endregion
private static bool CheckStudentPassword(string loginStr, string pwdStr, out string errorMsg, out ExpReserve.UserAuthority userAuth)
{
DataRow dr = SingleInitials.DbAccess.GetStudentRowFromStudyID(loginStr);
userAuth = null;
if (dr == null)
{
errorMsg = "登陆学号不存在!";
return false;
}
else
{
string encrypt = pwdStr;//ExpReserve.MyMD5.Encrypt(pwdStr);
string strName = dr["Name"].ToString().Trim();
string strStudyID = dr["StudyID"].ToString().Trim();
string strTableID = dr["ID"].ToString();
if (encrypt == dr["Password"].ToString().Trim())
{
userAuth = new ExpReserve.UserAuthority(strStudyID, strName, "student", strTableID);
errorMsg = "";
return true;
}
else
{
errorMsg = "密码错误";
return false;
}
}
}
private static bool CheckTeacherPassword(string loginStr, string pwdStr, out string errorMsg, out ExpReserve.UserAuthority userAuth)
{
DataRow dr = SingleInitials.DbAccess.GetTeacherRowFromAccount(loginStr);
userAuth = null;
if (dr == null)
{
errorMsg = "登陆老师不存在!";
return false;
}
else
{
string encrypt = pwdStr;//ExpReserve.MyMD5.Encrypt(pwdStr);
string strName = dr["Name"].ToString().Trim();
string strAccount = dr["Account"].ToString().Trim();
string strTableID = dr["ID"].ToString().Trim();
if (encrypt == dr["Password"].ToString().Trim())
{
userAuth = new ExpReserve.UserAuthority(strAccount, strName, "teacher", strTableID);
errorMsg = "";
return true;
}
else
{
errorMsg = "密码错误";
return false;
}
}
}
private static bool CheckAdminPassword(string loginStr, string pwdStr, out string errorMsg, out ExpReserve.UserAuthority userAuth)
{
DataRow dr = SingleInitials.DbAccess.GetAdminDataRowFromAccount(loginStr);
userAuth = null;
if (dr == null)
{
errorMsg = "登陆管理员不存在!";
return false;
}
else
{
string encrypt = pwdStr;//ExpReserve.MyMD5.Encrypt(pwdStr);
string strName = dr["Account"].ToString().Trim();
string strAccount = dr["Account"].ToString().Trim();
//string strTableID = dr["ID"].ToString().Trim();
if (encrypt == dr["Password"].ToString().Trim())
{
userAuth = new ExpReserve.UserAuthority(strAccount, strName, "admin", "0");
errorMsg = "";
return true;
}
else
{
errorMsg = "密码错误";
return false;
}
}
}
/// <summary>
/// 验证密码
/// </summary>
/// <param name="loginRole">登入角色,student,teacher,admin</param>
/// <param name="loginStr">登入名,学生为学号,老师为帐号,管理员为帐号</param>
/// <param name="pwdStr"></param>
/// <param name="errorMsg"></param>
/// <param name="userAuth"></param>
/// <returns></returns>
public static bool CheckPassword(string loginRole,string loginStr, string pwdStr, out string errorMsg, out ExpReserve.UserAuthority userAuth)
{
bool result = false;
errorMsg = "";
userAuth = null;
switch (loginRole)
{
case "student":
result = CheckStudentPassword(loginStr,pwdStr,out errorMsg,out userAuth);
break;
case "teacher":
result = CheckTeacherPassword(loginStr,pwdStr,out errorMsg,out userAuth);
break;
case "admin":
result = CheckAdminPassword(loginStr, pwdStr, out errorMsg, out userAuth);
break;
default:
result = false;
break;
}
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -