不需要在每个页面都做判段,
方法一:只需要做以下处理即可
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace HeathRoom.Controllers { public class BaseController : Controller { // // GET: /Base/ protected override void OnActionExecuting(ActionExecutingContext filterContext) { if (Request.Cookies["homeid"] == null) { //filterContext.Result = RedirectToRoute("Login"); filterContext.Result = RedirectToRoute(new { Controller = "Login", Action = "Login" }); base.OnActionExecuting(filterContext); } } } }
然后,让所有的Controller继承自BaseController。
方法二: 使用自定义AuthorizeAttribute属性
customAuthorizedAttribute:authorizeAttribute
{
override public void OnAuthorization (AuthorizationContext filterContext)
{
// 进行逻辑判断
}
}
给需要进行验证的controller 或者action添加属性标签[customAuthorized]
本文介绍了两种优化控制器验证逻辑的方法:通过统一重定向到登录页面,以及使用自定义授权特性简化权限检查。适用于需要统一处理用户认证与权限校验的应用场景。
176

被折叠的 条评论
为什么被折叠?



