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 #    Comments [0]  | 

 

All comments require the approval of the site owner before being displayed.
Name
E-mail
Home page

Comment (HTML not allowed)  

Enter the code shown (prevents robots):

Live Comment Preview
All content © 2010, Mart Muller
On this page
This site
Calendar
<July 2010>
SunMonTueWedThuFriSat
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567
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