【问题标题】:With ASP.NET MVC should I always check User IsAuthenticated in my Controller?使用 ASP.NET MVC,我是否应该始终检查控制器中的 User IsAuthenticated?
【发布时间】:2013-07-16 14:11:10
【问题描述】:

我是否应该始终在控制器上的操作中检查用户的IsAuthenticated 属性,即使操作或整个控制器要求用户通过[Authorize] 属性登录?

真的有必要还是只是一个好习惯?

例子:

[Authorize]
public class MyEntityController : Controller
{
    public ActionResult Index()
    {
        if (WebSecurity.IsAuthenticated)
        {
            var result = from p in _db.MyEntity
                         where p.UserId.Equals(WebSecurity.CurrentUserId)
                         select new MyEntityViewModel
                             {
                                 Id = p.Id,
                                 Date = p.Date,
                                 Description = p.Description,
                                 Count = p.MyOtherEntity.Count(),
                                 Username = WebSecurity.CurrentUserName
                             };

            return View(result);
        }

        return View();
    }
}

【问题讨论】:

  • 不,这就是你使用 Authorize 属性的原因:)

标签: asp.net-mvc controller authentication


【解决方案1】:

没有必要。 [Authorize] 属性检查用户是否已登录,如果用户未自动登录,则重定向到登录页面

【讨论】:

    猜你喜欢
    • 2020-07-23
    • 2010-12-20
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    • 2011-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多