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

时间:2023-03-08 15:10:09
asp.net后台管理系统-登陆模块-路由权限控制_1
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");
}
}