asp.net-mvc-3 – 如何在MVC3上使用authorize属性
发布时间:2020-12-16 00:05:56 所属栏目:asp.Net 来源:网络整理
导读:我已经读过要在MVC上使用属性[Authorize],你只需将它放在一个动作或你要保护的控制器类上. 我的问题是:Authorize属性如何知道用户是否已登录?我是否必须提供任何Session对象才能让Authorize知道用户是否获得授权? 解决方法 此属性通过查看HttpContext.Use
我已经读过要在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-mvc – 在PasswordSignInAsync成功后,User.Identit
- 如何为新项目决定WebForms vs ASP.NET MVC 3?
- 为什么ASP.NET MVC 3没有正确验证我的浮动?
- Asp.Net Web API和WCF服务有什么区别?
- 在ASP.NET web.config全球标记中设置日期格式?
- 决定Umbraco和Orchard之间ASP.NET CMS
- asp.net – “MVC 3视图”中的当前上下文中不存在该名称“H
- asp.net-mvc – 在数据实体框架中显示名称
- asp.net – 如何阻止用户在新标签页或新窗口中打开菜单项
- 我可以/我应该将新的ASP.NET MVC 2 RC项目升级到jQuery 1.4
推荐文章
站长推荐
- asp.net – 在本地主机上开发Facebook Connect J
- ASP.NET MVC 3 Ajax.BeginForm和Html.TextBoxFor
- asp.net-mvc – ASP.NET MVC开源实境应用
- asp.net-mvc – 是否有任何基于ASP.NET MVC订阅的
- asp.net – 如何使用Excel服务器端?
- 使用Asp.net Mvc3 Razor视图方式扩展JQuery UI W
- ASP.NET MVC,AngularJS,Bower和部署站点文件夹结
- asp.net-mvc – Razor – 渲染没有Render()且没有
- ASP.NET Cookie过期时间始终是1/1/0001 12:00 AM
- 使用ASP.NET重定向到非www-url域?
热点阅读