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"); } }
原文地址:https://www.cnblogs.com/yxyl/p/10083887.html
时间: 2024-10-31 05:30:56