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");
}
}