use*_*106 5 c# asp.net-mvc web
我目前正在使用一些遗留代码,其中HttpContext.Current.User在MVC控制器方法中使用该属性来对当前用户执行一些基本授权.从阅读文档还有一个HttpContext.User属性,他们似乎都表明他们可以获取/设置当前用户.我很好奇,如果在某些级别它们是可互换的,并且相同,或者如果在授权或甚至识别Web应用程序的当前用户方面会导致意外问题的2之间存在关键差异.
文档对此进行了解释(强调了这一点,虽然这是指 Web 表单,但我相信 MVC 中的原理是相同的)
由于 ASP.NET 页面包含对 System.Web 命名空间(其中包含 HttpContext 类)的默认引用,因此您可以在 .aspx 页面上引用 HttpContext 的成员,而无需使用对 HttpContext 的完全限定类引用。例如,您可以使用 User.Identity.Name 来获取当前进程代表其运行的用户的名称。
但是,如果要使用 ASP.NET 代码隐藏模块中的 IPrincipal 成员,则必须在模块中包含对 System.Web 命名空间的引用以及对当前活动请求/响应上下文的完全限定引用和您要使用的 System.Web 中的类
例如,在代码隐藏页面中,您必须指定完全限定名称 HttpContext.Current.User.Identity.Name。
| 归档时间: |
|
| 查看次数: |
1356 次 |
| 最近记录: |