asp.net-mvc-3 – 如何在MVC3上使用authorize属性
发布时间:2020-05-25 05:04:18 所属栏目:asp.Net 来源:互联网
导读:我已经读过要在MVC上使用属性[Authorize],你只需将它放在一个动作或你要保护的控制器类上. 我的问题是:Authorize属性如何知道用户是否已登录?我是否必须提供任何Session对象才能让Authorize知道用户是否获得授权? 此属性通过查看HttpContext.User.Identity
|
我已经读过要在MVC上使用属性[Authorize],你只需将它放在一个动作或你要保护的控制器类上. 我的问题是:Authorize属性如何知道用户是否已登录?我是否必须提供任何Session对象才能让Authorize知道用户是否获得授权? 解决方法此属性通过查看HttpContext.User.Identity.IsAuthenticated来工作.如果您使用的是FormsAuthentication,如果用户的计算机上有一个有效的FormsAuthentication cookie(您可以使用 如果您对Authorize的内部工作感兴趣,这来自已发布的Microsoft源代码: 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;
}
这是some more info on FormsAuthentication. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 什么时候不应该使用Web服务?
- asp.net-mvc – 修改后ASP.NET包缓存不清除
- asp.net-mvc – MVC导航到不同的控制器视图
- asp.net-mvc – ASP.NET MVC中的Flat和Nested ViewModel类
- ASP.NET MVC4 WebApi路由中包含文件名
- .net – 修改MVC 5中的密码长度
- 强制ASP.NET应用程序从bin而不是GAC加载程序集
- asp.net-core – 为什么我的JWT承载认证在令牌表示5分钟后将
- .net-4.0 – 为什么我在一个新的MVC4项目中收到编译错误?
- asp.net – LINQ to SQL Web应用程序最佳实践
推荐文章
站长推荐
- asp.net-mvc – 通过子域名到mvc或api的ASP.NET路
- asp.net-mvc – DDD原理和ASP.NET MVC项目设计
- asp.net-mvc-2 – 使用’class(或其他保留关键字
- asp.net-mvc – Razor并在ActionLinks上指定css类
- asp.net-mvc – 使用Razor在ASP.NET MVC 4中防止
- asp.net – Owin Middleware vs ExceptionHandle
- ASP.NET MVC中使用区域时的配置错误4
- ASP.NET Web Api HttpResponseException 400(错误
- asp.net – 为什么网站项目中缺少global.asax
- 转:[WebServices]介绍
热点阅读
