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