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

转载于:https://www.cnblogs.com/syp1Blog/p/10368398.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值