.net - Cannot set authorization rules in web.config for WCF Service -
i read on post can use asp.net authorization in web config control access wcf web service replace following attribute:
[principalpermission(securityaction.demand, role="administrators")]
to test have been using "administrators" valid role should allow me access , "test" isnt. works fine when using above attribute when comment out , use in web.config file:
<authentication mode="windows" /> <authorization> <allow roles=".\test"/> <deny roles="*"/> </authorization>
it still allows me access.
so wondering if have got wrong in web.config or whether read wrong saying use that.
just reference post looked at:
using windows role authentication in app.config wcf
and following web.config:
<?xml version="1.0"?> <configuration> <system.web> <compilation debug="true" targetframework="4.0" /> <authentication mode="windows" /> <authorization> <allow roles=".\test"/> <deny users="*"/> </authorization> </system.web> <system.servicemodel> <bindings> <basichttpbinding> <binding name="basichttpendpointbinding"> <security mode="transportcredentialonly"> <transport clientcredentialtype="windows" /> </security> </binding> </basichttpbinding> </bindings> <services> <service behaviorconfiguration="wcfservice1.servicebehaviour1" name="wcfservice1.service1"> <endpoint address="" binding="basichttpbinding" bindingconfiguration="basichttpendpointbinding" name="basichttpendpoint" contract="wcfservice1.iservice1"> <identity> <dns value="localhost"/> </identity> </endpoint> </service> </services> <behaviors> <servicebehaviors> <behavior name="wcfservice1.servicebehaviour1"> <!-- avoid disclosing metadata information, set value below false , remove metadata endpoint above before deployment --> <servicemetadata httpgetenabled="true"/> <!-- receive exception details in faults debugging purposes, set value below true. set false before deployment avoid disclosing exception information --> <servicedebug includeexceptiondetailinfaults="false"/> </behavior> </servicebehaviors> </behaviors> <servicehostingenvironment multiplesitebindingsenabled="true" /> </system.servicemodel> <system.webserver> <modules runallmanagedmodulesforallrequests="true"/> </system.webserver> </configuration>
thanks.
asp.net authorization rules not used wcf services if wcf hosted side-by-side asp.net. use them must turn wcf service asp.net compatibility mode.
Comments
Post a Comment