using System;using System.Web;using System.Web.Security;namespace AuthTest{ public class Authentication { /// <summary> /// 設置用戶登陸成功憑據(Cookie存儲) /// </summary> /// <param name="UserName">用戶名</param> /// <param name="PassWord">密碼</param> /// <param name="Rights">權限</param> public static void SetCookie(string UserName,string PassWord,string Rights) { // //String PassWord="test"; // String UserData = UserName + "#" + PassWord+"#"+Rights; if (true) { //數據放入ticket FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, UserName, DateTime.Now, DateTime.Now.AddMinutes(60), false, UserData); //數據加密 string enyTicket = FormsAuthentication.Encrypt(ticket); HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, enyTicket); HttpContext.Current.Response.Cookies.Add(cookie); } } /// <summary> /// 判斷用戶是否登陸 /// </summary> /// <returns>True,Fales</returns> public static bool isLogin() { return HttpContext.Current.User.Identity.IsAuthenticated; } /// <summary> /// 注銷登陸 /// </summary> public static void logOut() { FormsAuthentication.SignOut(); } /// <summary> /// 獲取憑據中的用戶名 /// </summary> /// <returns>用戶名</returns> public static string getUserName() { if (isLogin()) { string strUserData = ((FormsIdentity)(HttpContext.Current.User.Identity)).Ticket.UserData; string[] UserData = strUserData.Split('#'); if (UserData.Length != 0) { return UserData[0].ToString(); } else { return ""; } } else { return ""; } } /// <summary> /// 獲取憑據中的密碼 /// </summary> /// <returns>密碼</returns> public static string getPassWord() { if (isLogin()) { string strUserData = ((FormsIdentity)(HttpContext.Current.User.Identity)).Ticket.UserData; string[] UserData = strUserData.Split('#'); if (UserData.Length!=0) { return UserData[1].ToString(); } else { return ""; } } else { return ""; } } /// <summary> /// 獲取憑據中的用戶權限 /// </summary> /// <returns>用戶權限</returns> public static string getRights() { if (isLogin()) { string strUserData = ((FormsIdentity)(HttpContext.Current.User.Identity)).Ticket.UserData; string[] UserData = strUserData.Split('#'); if (UserData.Length!=0) { return UserData[2].ToString(); } else { return ""; } } else { return ""; } } }}
新聞熱點
疑難解答