【发布时间】:2013-02-26 09:52:37
【问题描述】:
我需要在我的操作过滤器中访问当前登录的用户。身份由DelegatingHandler 设置在执行链的更上游。
我可以使用HttpContext.Current.User访问当前的IPrincipal。
到目前为止,我避免使用HttpContext.Current,因为在我看来它的风格很糟糕。
首先,您的代码只有在 IIS 中托管时才能工作,其次,它包含对 System.Web 的引用,我想这并没有什么坏处,但如果可能的话,我更愿意坚持使用 System.Net.Http。
依靠老好“HttpContext”感觉不对。。
还有其他方法可以在ActionFilter 中访问用户的身份吗?或者,如果您不打算运行自托管应用程序,是否可以使用 HttpContext?
【问题讨论】:
-
该死的..在发布问题之前,我真的进行了彻底的搜索。 5 分钟后,我有两个可行的答案:(
标签: authentication asp.net-web-api actionfilterattribute iprincipal