Host a WCF service in SharePoint under Forms Authentication#

I’ve been working with WCF services a lot lately, especially hosted in SharePoint. My Silverlight 2.0 application uses the services to interact with SharePoint, which works great. There are some posts about how to get started with them available, which is great.

the the architecture I’m using for my application, Forms authentication in SharePoint is a must, which means I wrote my own authentication provider. The WCF services however, don’t like that by default and returns a login screen which I can’t pass. Switching from Windows to Forms, break the application.

There is a solution however, to get the WCF services work under forms authentication as well in SharePoint. Note that you must enable cookies (and store the login) to make this solution work. So,

  • First we must enable sessions in the SharePoint site. Therefore, enable the session http module in the web.config:

<add name="Session" type="System.Web.SessionState.SessionStateModule"/>

  • Second, enable the session state in the pages tag

<pages enableSessionState="true" enableVie…

  • Third, where we used Ntml as a clientCredentialType, now the service must use anonymous, so change the type to ‘none’ within your binding and endpoint tag:

<binding name="BasicHttpBinding" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
    <security mode="TransportCredentialOnly">
         <transport clientCredentialType="None" />
    </security>
</binding>

and..

<endpoint address="/_layouts/Services/Service.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding" contract="WiZZiX.Services.Service" name="WiZZiX.Services.Service">
    <security mode="Transport">
        <transport clientCredentialType="None" proxyCredentialType="None" realm="" />
        <message clientCredentialType="UserName" algorithmSuite="Default" />
    </security>
</endpoint>

Now, the WCF service works great with forms authentication within the context of SharePoint!

Note that with this configuration, windows authentication doesn’t work anymore, so it’s either windows or forms, not mixed.

With thanks to PaulB for helping me out.

Thursday, February 12, 2009 8:18:25 AM UTC #     | 

 

All content © 2012, Mart Muller
On this page
This site
Calendar
<February 2012>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910
Archives
Sitemap
Disclaimer

Powered by: newtelligence dasBlog 1.9.7174.0

The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

Send mail to the author(s) E-mail

Theme design by Jelle Druyts