1asp.net2.0用户角色安全问题

这是Global.ascx中的代码
 2asp.net2.0用户角色安全问题    protected void Application_AuthenticateRequest(Object sender, EventArgs e) 
 3asp.net2.0用户角色安全问题    { 
 4asp.net2.0用户角色安全问题        if (HttpContext.Current.User != null)//如果当前的http信息中存在用户信息  
 5asp.net2.0用户角色安全问题        { 
 6asp.net2.0用户角色安全问题            if (HttpContext.Current.User.Identity.IsAuthenticated)//如果当前用户的身份已经通过了验证  
 7asp.net2.0用户角色安全问题            { 
 8asp.net2.0用户角色安全问题                if (HttpContext.Current.User.Identity is FormsIdentity) 
 9asp.net2.0用户角色安全问题                { 
10asp.net2.0用户角色安全问题                    //如果当前用户身份是FormsIdentity类即窗体验证类,此类有个属性能够访问当前用户的验证票  
11asp.net2.0用户角色安全问题                    FormsIdentity fi = (FormsIdentity)HttpContext.Current.User.Identity;//创建个FormsIdentity类,用他来访问当前用户的验证票  
12asp.net2.0用户角色安全问题                    //获得用户的验证票  
13asp.net2.0用户角色安全问题                    FormsAuthenticationTicket ticket = fi.Ticket; 
14asp.net2.0用户角色安全问题                    //从验证票中获得用户数据也就是角色数据  
15asp.net2.0用户角色安全问题                    string userData = ticket.UserData; 
16asp.net2.0用户角色安全问题                    //把用户数据用,分解成角色数组  
17asp.net2.0用户角色安全问题                    string[] roles = userData.Split(','); 
18asp.net2.0用户角色安全问题                    //重写当前用户信息,就是把角色信息也加入到用户信息中  
19asp.net2.0用户角色安全问题                    HttpContext.Current.User = new GenericPrincipal(fi, roles); 
20asp.net2.0用户角色安全问题
21asp.net2.0用户角色安全问题                } 
22asp.net2.0用户角色安全问题            } 
23asp.net2.0用户角色安全问题        } 
24asp.net2.0用户角色安全问题    } 
25asp.net2.0用户角色安全问题

 

 

这里是登录模块的代码 

1asp.net2.0用户角色安全问题protected void lblogin_Click(object sender, EventArgs e) 
 2asp.net2.0用户角色安全问题    { 
 3asp.net2.0用户角色安全问题        string uname=this.TextBox1.Text; 
 4asp.net2.0用户角色安全问题        string pwd = this.TextBox2.Text; 
 5asp.net2.0用户角色安全问题string roles = null; 
 6asp.net2.0用户角色安全问题        bool check = RoleData.RoleControl(uname, pwd,out roles); 
 7asp.net2.0用户角色安全问题if (check) 
 8asp.net2.0用户角色安全问题
 9asp.net2.0用户角色安全问题//创建一个新的验证票FormsAuthenticationTicket 
10asp.net2.0用户角色安全问题FormsAuthenticationTicket ticket = new FormsAuthenticationTicket( 
11asp.net2.0用户角色安全问题1,//票版本号 
12asp.net2.0用户角色安全问题uname,//用户名 
13asp.net2.0用户角色安全问题DateTime.Now,//生成cookie时间 
14asp.net2.0用户角色安全问题DateTime.Now.AddMinutes(20),//cookie的有效时间 
15asp.net2.0用户角色安全问题false,//是不是永久存在的cookie 
16asp.net2.0用户角色安全问题roles);//从数据库读到的用户角色数据 
17asp.net2.0用户角色安全问题
18asp.net2.0用户角色安全问题//把验证票加密 
19asp.net2.0用户角色安全问题string hashTicket = FormsAuthentication.Encrypt(ticket); 
20asp.net2.0用户角色安全问题
21asp.net2.0用户角色安全问题//设置验证票cookie,第一个参数为cookie的名字,第二个参数为cookie的值也就是加密后的票 
22asp.net2.0用户角色安全问题HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, hashTicket); 
23asp.net2.0用户角色安全问题//把cookie加进Response对象发生到客户端 
24asp.net2.0用户角色安全问题//得到请求的url 
25asp.net2.0用户角色安全问题Response.Cookies.Add(cookie); 
26asp.net2.0用户角色安全问题string requestUrl = FormsAuthentication.GetRedirectUrl(FormsAuthentication.FormsCookieName, false); 
27asp.net2.0用户角色安全问题
28asp.net2.0用户角色安全问题//不要使用FormsAuthentication.RedirectFromLoginPage方法,因为这个方法会重写cookie 
29asp.net2.0用户角色安全问题//重新定向到请求的url 
30asp.net2.0用户角色安全问题if (requestUrl != null) 
31asp.net2.0用户角色安全问题
32asp.net2.0用户角色安全问题Response.Redirect(requestUrl); 
33asp.net2.0用户角色安全问题
34asp.net2.0用户角色安全问题else 
35asp.net2.0用户角色安全问题
36asp.net2.0用户角色安全问题Response.Redirect("index.aspx"); 
37asp.net2.0用户角色安全问题
38asp.net2.0用户角色安全问题
39asp.net2.0用户角色安全问题else 
40asp.net2.0用户角色安全问题
41asp.net2.0用户角色安全问题this.lbcheck.Text = "用户名或者密码错误,请重试!"; 
42asp.net2.0用户角色安全问题this.lbcheck.Visible = true; 
43asp.net2.0用户角色安全问题
44asp.net2.0用户角色安全问题    } 
45asp.net2.0用户角色安全问题}

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-07
  • 2021-12-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-07-23
  • 2022-02-07
  • 2021-10-04
  • 2021-07-08
  • 2021-11-26
  • 2021-09-01
  • 2022-02-16
相关资源
相似解决方案