我刚刚遇到了在visual studio 2008下运行asp.net web应用程序的问题.我得到错误'类型未解析成员... customUserPrincipal'.跟踪各种讨论组时,在为Thread.CurrentPrincipal分配自定义主体时,Visual Studio的Web服务器似乎存在问题.
在我的代码中,我现在使用...
HttpContext.Current.User = myCustomPrincipal
//Thread.CurrentPrincipal = myCustomPrincipal
Run Code Online (Sandbox Code Playgroud)
我很高兴我把这个错误排除在外,但它引出了一个问题"这两种设置主体的方法有什么不同?".还有其他与差异相关的stackoverflow 问题,但他们没有深入了解这两种方法的细节.
我确实找到了一篇引人注目的帖子,但是没有任何解释来支持他的断言......
对所有Web(ASPX/ASMX)应用程序使用HttpConext.Current.User.
将Thread.CurrentPrincipal用于所有其他应用程序,如winForms,控制台和Windows服务应用程序.
你们中的任何一位安全/ dot.net专家能否对这个问题有所了解?