zoukankan      html  css  js  c++  java
  • asp.net2.0角色管理,详细步骤

    step 1:
    C# code
    <authentication mode="forms"> <forms name=".ASPXAUTH " loginUrl="/login.aspx" timeout="30" path= "/"> </forms> </authentication>


    step 2:
    需要角色控制的目录下新建web.config,如以下配置
    C# code
    <authorization> <allow users="comma-separated list of users" roles="comma-separated list of roles" verbs="comma-separated list of verbs" /> <deny users="comma-separated list of users" roles="comma-separated list of roles" verbs="comma-separated list of verbs" /> </authorization>


    step 3:
    登录代码,获得船票

    C# code
    FormsAuthenticationTicket Ticket = new FormsAuthenticationTicket (1,user,DateTime.Now,
    DateTime.Now.AddMinutes(30), false,userRoles,"/") ; //建立身份验证票对象 string HashTicket = FormsAuthentication.Encrypt (Ticket) ; //加密序列化验证票为字符串 HttpCookie UserCookie = new HttpCookie(FormsAuthentication.FormsCookieName, HashTicket) ; //生成Cookie Context.Response.Cookies.Add (UserCookie) ; //Cookie
    
    


    step 4:(手工创建角色)
    在global.asax 中
    C# code
    protected void Application_AuthorizeRequest(object sender, System.EventArgs e) { HttpApplication App = (HttpApplication) sender; HttpContext Ctx = App.Context ; //获取本次Http请求相关的HttpContext对象 if (Ctx.Request.IsAuthenticated == true) //验证过的用户才进行role的处理 { FormsIdentity Id = (FormsIdentity)Ctx.User.Identity ; FormsAuthenticationTicket Ticket = Id.Ticket ; //取得身份验证票 string[] Roles = Ticket.UserData.Split (',') ; //将身份验证票中的role数据转成字符串数组 Ctx.User = new GenericPrincipal (Id, Roles) ; //将原有的Identity加上角色信息新建一个GenericPrincipal表示当前用户,这样当前用户就拥有了role信息 } }
    这里和大家分享和学习如何学IT!
  • 相关阅读:
    config Doku wiki
    [转载]【python】ipython与python的区别
    数组和指针
    C++初始化数据成员
    RSA算法原理
    C++四种cast
    百度笔试准备2
    百度笔试准备1
    百度面试准备
    C++的空类中默认产生哪些类成员函数
  • 原文地址:https://www.cnblogs.com/fuchifeng/p/1290792.html
Copyright © 2011-2022 走看看