使用Cookie登陆,保存Cookie,读取Cookie(C#)

本文介绍如何使用 ASP.NET 的 Forms 认证机制来实现用户登录与验证流程,包括设置用户信息、生成和设置 Cookie,以及从 Cookie 中提取用户信息的方法。
 1None.gif登陆
 2None.gif
 3None.gif//这里设置产品信息
 4None.gif                        string ProductInfo="FTP";
 5None.gif                        //设置用户信息
 6None.gif                        string UserInfo=ftppanelsdr["UserName"].ToString().Trim()+"|"+ftppanelsdr["FTPID"].ToString().Trim();
 7None.gif
 8None.gif                        FormsAuthenticationTicket Ticket = null;
 9None.gif
10None.gif                        Ticket = new FormsAuthenticationTicket(1,UserInfo,DateTime.Now,DateTime.Now.AddHours(50),false,ProductInfo,"/"); 
11None.gif                        //加密序列化验证票为字符串
12None.gif                        string HashTicket = FormsAuthentication.Encrypt (Ticket) ;
13None.gif                        //生成客户端Cookie
14None.gif                        HttpCookie UserCookie = new HttpCookie(FormsAuthentication.FormsCookieName, HashTicket) ; 
15None.gif                        //UserCookie.Expires = DateTime.Now.AddHours(8760);
16None.gif
17None.gif                        //设置Cookie为浏览器进程
18None.gif                        Context.Response.Cookies.Add (UserCookie);
19None.gif                        // 重定向到用户申请的初始页面
20None.gif                        if(Context.Request["ReturnUrl"]!=null)
21ExpandedBlockStart.gifContractedBlock.gif                        dot.gif{
22InBlock.gif                            Context.Response.Redirect (Context.Request["ReturnUrl"]); 
23ExpandedBlockEnd.gif                        }

24None.gif                        else
25ExpandedBlockStart.gifContractedBlock.gif                        dot.gif{
26InBlock.gif                            //这里设置要跳转的页面
27InBlock.gif                            Context.Response.Redirect ("ftp/ftp.aspx") ; 
28ExpandedBlockEnd.gif                        }

29None.gif
30None.gif获取Cookie里面的值
31None.gif
32None.gif//获取用户信息
33ExpandedBlockStart.gifContractedBlock.gif        /**//// <summary>
34InBlock.gif        ///<-- 0--用户ID/1--用户名/2--角色ID/3--等级ID/4--等级名-->
35InBlock.gif        /// 0--用户名/1--FTPID
36InBlock.gif        /// </summary>
37ExpandedBlockEnd.gif        /// <returns></returns>

38None.gif        public static string[] GetUserInfo()
39ExpandedBlockStart.gifContractedBlock.gif        dot.gif{
40InBlock.gif             return HttpContext.Current.User.Identity.Name.Split('|');    
41ExpandedBlockEnd.gif        }

42None.gif
43None.gif        //获取用户角色
44ExpandedBlockStart.gifContractedBlock.gif        /**//// <summary>        
45InBlock.gif        /// 获取用户角色
46InBlock.gif        /// </summary>
47ExpandedBlockEnd.gif        /// <returns></returns>

48None.gif        public static string GetUserRole()
49ExpandedBlockStart.gifContractedBlock.gif        dot.gif{
50InBlock.gif            FormsIdentity Id = (FormsIdentity)HttpContext.Current.User.Identity ;
51InBlock.gif            //取得身份验证票
52InBlock.gif            FormsAuthenticationTicket Ticket = Id.Ticket ;
53InBlock.gif            //设置用户角色
54InBlock.gif            return Ticket.UserData;
55ExpandedBlockEnd.gif        }

56None.gif

转载于:https://www.cnblogs.com/wxukie/archive/2007/04/18/718125.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值