C#中FormsAuthentication用法實(shí)例
更新時(shí)間:2015年02月15日 09:56:49 投稿:junjie
這篇文章主要介紹了C#中FormsAuthentication用法實(shí)例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
using System;
using System.Web;
using System.Web.Security;
namespace AuthTest
{
public class Authentication
{
/// <summary>
/// 設(shè)置用戶登陸成功憑據(jù)(Cookie存儲)
/// </summary>
/// <param name="UserName">用戶名</param>
/// <param name="PassWord">密碼</param>
/// <param name="Rights">權(quán)限</param>
public static void SetCookie(string UserName,string PassWord,string Rights)
{
//
//String PassWord="test";
//
String UserData = UserName + "#" + PassWord+"#"+Rights;
if (true)
{
//數(shù)據(jù)放入ticket
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, UserName, DateTime.Now, DateTime.Now.AddMinutes(60), false, UserData);
//數(shù)據(jù)加密
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>
/// 獲取憑據(jù)中的用戶名
/// </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>
/// 獲取憑據(jù)中的密碼
/// </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>
/// 獲取憑據(jù)中的用戶權(quán)限
/// </summary>
/// <returns>用戶權(quán)限</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 "";
}
}
}
}
相關(guān)文章
C#之如何實(shí)現(xiàn)多個(gè)子窗體切換效果
這篇文章主要介紹了C#之如何實(shí)現(xiàn)多個(gè)子窗體切換的效果,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
C#數(shù)據(jù)綁定(DataBinding)簡單實(shí)現(xiàn)方法
這篇文章主要介紹了C#數(shù)據(jù)綁定(DataBinding)簡單實(shí)現(xiàn)方法,以簡單實(shí)例形式簡單分析了C#實(shí)現(xiàn)數(shù)據(jù)綁定與讀取的方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08
C#使用Region對圖形區(qū)域構(gòu)造和填充的方法
這篇文章主要介紹了C#使用Region對圖形區(qū)域構(gòu)造和填充的方法,實(shí)例分析了Region類圖形操作的相關(guān)技巧,需要的朋友可以參考下2015-06-06
用c#實(shí)現(xiàn)簡易的計(jì)算器功能實(shí)例代碼
這篇文章主要介紹了c#實(shí)現(xiàn)簡易的計(jì)算器功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05

