如果您使用的是 FormsAuthentication 之类的东西,如果用户在他们的机器上有一个有效的 FormsAuthentication cookie(您可以使用 FormsAuthentication.SetAuthCookie 添加),这将设置为 true。
Authorize 属性通过查看 HttpContext.User.Identity.IsAuthenticated 起作用。
下面的代码来自于 Microsoft 发布的Authorize Attrubute源代码
protected virtual bool AuthorizeCore(HttpContextBase httpContext) {
if (httpContext == null) {
throw new ArgumentNullException("httpContext");
}
IPrincipal user = httpContext.User;
if (!user.Identity.IsAuthenticated) {
return false;
}
if (_usersSplit.Length > 0 && !_usersSplit.Contains(user.Identity.Name,StringComparer.OrdinalIgnoreCase)) {
return false;
}
if (_rolesSplit.Length > 0 && !_rolesSplit.Any(user.IsInRole)) {
return false;
}
return true;
}
FormsAuthentication 详细信息