Мне известно, что я слишком сильно разбираюсь в технологиях, поэтому, когда я использую WCF в своих веб-приложениях, я оборачиваю сервис в своем веб-приложении. Таким образом, мое веб-приложение вызывает абстракцию.
Теперь вы можете применить защиту доступа к коду (CAS) на оболочке.
Пример кода может выглядеть так (тонны деталей для краткости опущены)
internal class ServiceWrapper
{
Service Svc;
public ServiceWrapper()
{
Svc = ServiceClient();
}
[System.Security.Permissions.PrincipalPermission(System.Security.Permissions.SecurityAction.Demand, Role = "HelloWorld")]
public string HelloWorld()
{
return Svc.HelloWorld();
}
}
В идеальном мире мы бы хотели, чтобы CAS был немного более сухим (не повторяйся), то есть обрабатывался в WCF, как ты предлагаешь. Но это может быть хорошим посредником, если вы знаете, что можете заблокировать приложение WCF и контролировать, кто его вызывает: -)
Это поможет вам упростить раскрутку мяча ...
Удачи!