Я хочу, чтобы удаленные администраторы (с локальными или учетными данными домена) управляли моей службой Windows через привязку WCF TCP. Для этого мне нужно аутентифицировать удаленного пользователя в качестве администратора. Я могу проверить основных пользователей/роли, но я не знаю, как запросить удаленный пользователь для получения правильной информации/токена пользователя.Restricted Remote WCF Service: Windows Authentication Prompt
Это связано с моим предыдущим вопросом на Restricting WCF TCP endpoint to Administrators. Вместо добавления [PrincipalPermission(SecurityAction.Demand, Role = "Administrator")]
в мой ограниченный метод обслуживания и ловить SecurityException
, я, кажется, можно было проверить:
if (!System.Threading.Thread.CurrentPrincipal.IsInRole("Administrators"))
return MethodResult.AccessDenied;
// haven't tested if it's the service thread or the remote user yet.
Как подскажу удаленный пользователь для проверки подлинности Windows, если Denied результат доступа был возвращен, так что я могу возобновить соединение в качестве другого принципала?
Конечно, изменение должно быть выполнено на клиентском приложении удаленного пользователя. Возможно, есть более чистый способ WCF?
Edit: Поиск ".net олицетворения" привели меня к this на CodeProject. У меня не было возможности посмотреть, но это может быть путь.
Спасибо. [Этот вопрос] (http://stackoverflow.com/questions/1596161/how-to-show-authentication-dialog-in-c-net-3-5-sp1) предоставляет собственное приглашение, хотя и со старым взглядом. – 2010-12-10 13:22:39