最近我在Visual Studio 2008下运行ASP.NET Web应用程序时遇到了一个问题。错误提示为“类型未解析为成员...customUserPrincipal”。在追踪各种讨论组之后,似乎发现当你将自定义原则分配给Thread.CurrentPrincipal时,Visual Studio的Web服务器存在问题。
在我的代码中,我现在使用...
HttpContext.Current.User = myCustomPrincipal
//Thread.CurrentPrincipal = myCustomPrincipal
很高兴我解决了这个错误,但是这引出了一个问题:“这两种设置principal的方法有什么区别?”虽然有其他与此相关的stackoverflow问题,但它们没有详细介绍这两种方法的区别。
我发现有一篇诱人的帖子,其中包含以下夸张的评论,但没有解释来支持他的说法...
在所有的web(ASPX/ASMX)应用程序中使用HttpConext.Current.User。
在所有其他应用程序中,如winForms、控制台和Windows服务应用程序中,使用Thread.CurrentPrincipal。
您们任何安全/dot.net专家能否解释一下这个主题呢?