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"); ???????????} ???????}
asp.net后台管理系统-登陆模块-路由权限控制_1
原文地址:https://www.cnblogs.com/yxyl/p/10083887.html