tnblog
首页
视频
资源
登录
不帅~~但是很暖心.....
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

设置登陆访问权限

3568人阅读 2019/10/30 19:38 总访问:352143 评论:0 收藏:0 手机
分类: 权限

首先创建一个文件夹Filters并新建一个类IsAuthorizeAttribute继承AuthorizeAttribute,分别重写两个方法,如下代码

public class IsAuthorizeAttribute:AuthorizeAttribute
    {
        protected override bool AuthorizeCore(HttpContextBase httpContext) //处理返回bool结果
        {
            //判断是否已经登陆
            if (httpContext.Session["User"] != null)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        //这个方法是上面返回false在这里做相应的操作
        protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext) 
        { 
            //页面跳转,跳到登陆页面
            filterContext.Result = new RedirectResult("~/login/Index");
        }
    }

然后在设置全局什么鬼东西不知道怎么叫,具体在App_Start文件夹的FilterConfig类里设置,如下代码:

public class FilterConfig
    {
        public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {
            filters.Add(new HandleErrorAttribute());
            //添加相应的类即可
            filters.Add(new IsAuthorizeAttribute());
        }
    }

然后为了防止循环的重定向访问地址,我们在过滤掉一些过滤器或者类,只需在相应的过滤器或者类上面[AllowAnonymous]就可以了,如下代码

[AllowAnonymous]//过滤掉可以访问该类
    public class loginController : Controller
    {
        //
        // GET: /login/
        public ActionResult Index()
        {
            return View();
        }
        public ActionResult dealLogin(string userName, string userPassWord)
        {
            UserInfoDAL userinfoDal = new UserInfoDAL();
            UserInfo User = userinfoDal.GetUserInfo(userName, userPassWord);
            if (User != null)
            {
                return Json(1);
            }
            else
            {
                return Json(0);
            }
        }
    }



OK 这是自己巩固的独立完成的,加油自己哈哈

评价