Does WCF have an equivalent of MVC's [Authorize] attribute?

.net, wcf

Solution

Not out of the box - but WCF top-guru Juval Löwy had a very interesting article in MSDN Magazine about Declarative WCF Security which goes in the same direction.

Juval identified several key security scenarios, and wrapped each of them up into a WCF service behavior to be applied as an attribute on your service class on the server side. Quite an interesting read indeed !

Problem

I want to decorate certain Operation Contracts with an attribute to authorize the caller by custom logic, something like this: ``` [ServiceBehavior] public class Service1 { [OperationContract] [Authorize] // ?? this should make sure only admins can call this method public List<SampleItem> GetCollection() { return new List<SampleItem>() { new SampleItem("Only Admins see me") }; } } ``` The [Authorize] should check if the caller is entitled to call this operation; if not - it should return an error fault. Thanks.

Original source