FormsAuthentication的用法

来源:互联网 发布:差额比例计算法 编辑:程序博客网 时间:2024/05/16 10:57
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;using System.Data;/// <summary>/// Formau 的摘要说明/// </summary>public class Formau{    public Formau()    {        //        // TODO: 在此处添加构造函数逻辑        //    }
//设置cookie    public static void SetCookie(string UserName)    {        string sql = "select * from UserInfo where UserName=@UserName";        SqlParameter[] param ={ Database.MakeInParam("@UserName", SqlDbType.NVarChar, 50, UserName) };        DataTable dt = Database.ExecuteDataSet(sql, param).Tables[0];        string UserData = UserName + "#" + dt.Rows[0]["UserPassword"].ToString();        if (dt.Rows.Count > 0)        {
   //把数据放入ticket            FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, UserName, DateTime.Now, DateTime.Now.AddMinutes(60), false, UserData, FormsAuthentication.FormsCookiePath);
//对数据进行加密            string enyTicket = FormsAuthentication.Encrypt(ticket);            HttpCookie newCookie = new HttpCookie(FormsAuthentication.FormsCookieName, enyTicket);            HttpContext.Current.Response.Cookies.Add(newCookie);        }    }
//判断是否登陆    public static bool isLogin()    {        return HttpContext.Current.User.Identity.IsAuthenticated;    }
//退出    public static void LoginOut()    {        FormsAuthentication.SignOut();    }
//得到用户名    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 "";        }    }
//得到密码    public static string GetStringPassword()    {        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 "";        }    }}