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