Я хочу реализовать решение для аутентификации ключей API для моего API REST WCF4.
Я знаю, что мне нужно создать класс и извлечь его из ServiceAuthorizationManager и переопределить метод CheckAccessCore. Все что я понимаю.
Но то, что я хочу сделать из CheckAccessCore, передать внутреннюю информацию из CheckAccessCore в мои классы реализации Сервиса. Такая информация, как «ApiKeyID, права, флаги и другие подробности», которую я нашел при выполнении аутентификации ApiKey.
Чтобы мои сервисы могли использовать внутренний ApiKeyID при вызове логики домена.
Я видел много разных способов сделать это, например
operationContext.ServiceSecurityContext.AuthorizationContext.Properties["Principal"] = p;
или
System.Threading.Thread.CurrentPrincipal = principal;
HttpContext.Current.User = principal;
и другие способы ....