您的位置:首页 > 编程语言 > ASP

Asp.net Mvc 身份验证、异常处理、权限验证(拦截器)实现代码

2012-10-27 10:07 1111 查看
/// <summary> /// 权限验证 /// </summary> public class AuthAttribute : ActionFilterAttribute { /// <summary> /// 角色名称 /// </summary> public string Code { get; set; } /// <summary> /// 验证权限(action执行前会先执行这里) /// </summary> /// <param name="filterContext"></param> public override void OnActionExecuting(ActionExecutingContext filterContext) { //如果存在身份信息 if (!HttpContext.Current.User.Identity.IsAuthenticated) { ContentResult Content = new ContentResult(); Content.Content = string.Format("<script type='text/javascript'>alert('请先登录!');window.location.href='{0}';</script>", FormsAuthentication.LoginUrl); filterContext.Result = Content; } else { string[] Role = CheckLogin.Instance.GetUser().Roles.Split(',');//获取所有角色 if (!Role.Contains(Code))//验证权限 { //验证不通过 ContentResult Content = new ContentResult(); Content.Content = "<script type='text/javascript'>alert('权限验证不通过!');history.go(-1);</script>"; filterContext.Result = Content; } } } }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息