欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

asp.net后台管理系统-登陆模块-路由权限控制_1

程序员文章站 2023-12-05 09:57:22
using System.Web.Routing; //重写System.Web.Routing中Initialize方法 protected override void Initialize(RequestContext requestContext) { base.Initialize(requ... ......
using system.web.routing;

//重写system.web.routing中initialize方法
        protected override void initialize(requestcontext requestcontext)
        {
            base.initialize(requestcontext);
            //脱离权限控制的url
            if (request.rawurl.tolower().contains("url1") || request.rawurl.tolower().contains("url2"))
            {

            }
            //是否验证用户
            else if (user.identity.isauthenticated)
            {
                //通过 user.identity.name 查询数据库获取用户信息实体currentuser
                // user.identity.name是用户登陆的时候保存的值:userflag
                //formsauthentication.setauthcookie(userflag, createpersistentcookie);
                viewbag.currentuser = currentuser;
                if (currentuser == null)
                {
                    //如果用户不存在,跳转登陆界面
                    requestcontext.httpcontext.response.redirect("loginurl");
                }
                if (requestcontext.httpcontext.request.httpmethod == "get")
                {
            //获取当前请求的url信息=》获取controller名称
            var controllername = requestcontext.routedata.values["controller"].tostring().tolower(); //1.验证用户拥有的url权限 //2.跳转用户访问的url 或者 设置一个session值在前端框架中跳转 //3.操作session } } else { requestcontext.httpcontext.response.redirect("loginurl"); } }