Недавно я столкнулся с проблемой запуска веб-приложения asp.net в visual studio 2008. Я получаю, что тип ошибки не разрешен для члена... customUserPrincipal '. Отслеживание различных дискуссионных групп кажется, что существует проблема с веб-сервером Visual Studio при назначении пользовательского принципала против Thread.CurrentPrincipal.
В моем коде я теперь использую...
HttpContext.Current.User = myCustomPrincipal
//Thread.CurrentPrincipal = myCustomPrincipal
Я рад, что у меня ошибка, но он задает вопрос: "В чем разница между этими двумя методами настройки принципала?". Существуют другие stackoverflow questions, связанные с различиями, но они не попадают в детали двух подходов.
Я нашел одно дразнящее сообщение, которое имело следующий грандиозный комментарий, но не объясняло его утверждения...
Использовать HttpConext.Current.User для всех веб-приложений (ASPX/ASMX).
Использовать Thread.CurrentPrincipal для всех другие приложения, такие как winForms, консоль и служба Windows приложения.
Может ли кто-нибудь из ваших гуру security/dot.net пролить свет на эту тему?