C#中FormsAuthentication用法實例


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM