1. 程式人生 > >C#中FormsAuthentication用法實例

C#中FormsAuthentication用法實例

clear tick brush esp void 轉載 地址 功能 def

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 "";
      }
    }
  }
}

除聲明外,跑步客文章均為原創,轉載請以鏈接形式標明本文地址
C#中FormsAuthentication用法實例

本文地址: http://www.paobuke.com/develop/c-develop/pbk23142.html






相關內容

技術分享圖片C#實現帶百分比的進度條功能示例技術分享圖片淺談C#中簡單的異常引發與處理操作技術分享圖片C#逐行讀取文件的方法技術分享圖片C#畫筆使用復合數組繪制單個矩形的方法
技術分享圖片C#隊列Queue用法實例分析技術分享圖片C#使用GDI繪制矩形的方法技術分享圖片c#協變和逆變實例分析技術分享圖片C#泛型Dictionary的用法實例詳解

C#中FormsAuthentication用法實例