zoukankan      html  css  js  c++  java
  • C# FormsAuthentication的用法

    转:http://www.kaisir.com/2011/03/csharp-formsauthentication-usage.html

    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# app.config文件配置和修改
    C#基本知识点-Readonly和Const的区别
    C#知识点-StopWatch-计时
    python with open as f写中文乱码
    程序员不要去这样的公司
    关于老系统的重构和优化选择
    .Net Remoting 调用远程对象
    自定义的Config节点及使用
    前台线程和后台线程区别与使用技巧
  • 原文地址:https://www.cnblogs.com/jackljf/p/3588991.html
Copyright © 2011-2022 走看看