У меня есть следующее приложение ntier :MVC > Services > Repository > Domain. Я использую аутентификацию с помощью форм. Безопасно ли использовать Thread.CurrentPrincipal за пределами моего уровня MVC, чтобы получить текущего пользователя моего приложения, вошедшего в систему, или мне следует использовать HttpContext.Current.User?
Причина, по которой я спрашиваю, заключается в том, что, похоже, есть некоторые проблемы с Thread.CurrentPrincipal, но я с осторожностью добавляю ссылку на System.Web за пределами моего уровня MVC на случай, если в будущем мне понадобится предоставить не веб-шрифт.
Обновление
Я следовал совету, полученному до сих пор, чтобы передать имя пользователя в Службу как часть параметров вызываемого метода, и это привело к уточнению моего первоначального вопроса. Мне нужно иметь возможность проверить, находится ли пользователь в определенной роли в ряде моих методов службы и домена. Кажется, для этого есть несколько решений, просто интересно, как лучше поступить:
Как бы вы предложили мне действовать?