zoukankan      html  css  js  c++  java
  • 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 "";
          }
        }
      }
    }
  • 相关阅读:
    Python 模块 itertools
    Python 字符串的encode与decode
    python 模块 hashlib(提供多个不同的加密算法)
    暴力尝试安卓gesture.key
    hdu 1300 Pearls(DP)
    hdu 1232 畅通工程(并查集)
    hdu 1856 More is better(并查集)
    hdu 1198 Farm Irrigation(并查集)
    hdu 3635 Dragon Balls(并查集)
    hdu 3038 How Many Answers Are Wrong(并查集)
  • 原文地址:https://www.cnblogs.com/syp1Blog/p/10368398.html
Copyright © 2011-2022 走看看