使用Forms Authentication

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

转载于:https://www.cnblogs.com/duyanli/p/5228862.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值