0

I have been able to create a ASP MVC application that authenticates using Office 365 SSO.

I am looking for a way to have Office 365 as a SSO layer before accessing any internal applications (apache) we have on the network.

We have successfully setup a reverse proxy with ARR / URL Rewrite as discussed in this document: https://confluence.atlassian.com/display/JIRAKB/Integrating+JIRA+with+IIS+using+ARR

The issue I am having is that URL-Rewrite is happening too high up the execution stack and bypassing any modules.

I am looking for some guidance on how to implement a Office 365 authentication layer on IIS for internal non ASP.NET applications that sits behind a firewall.

Any ideas?

infoismammal
  • 1
  • 1
  • 2

1 Answers1

0

I have experience with ARR and WIF. I had to become familiar with how IIS 7.5 handles native vs. managed code. I am assuming you are running your app pool in integrated mode otherwise the rest of this won't be applicable.

It's hard to know due to not knowing all the details on your issue but you could have a configuration issue related to managed vs. native/unmanaged code. ARR is a native http module. It is used in conjunction with the URLRewrite http module to allow content to be served up from a back end web server.

By default IIS does not run managed http modules for any requests processed by a native handler, such as ARR. To configure IIS to run a managed module for content processed by a native handler, such as WIF or other managed .NET code, you must configure IIS to run managed code regardless of the handler. The simplest way to do this is to set the runAllManagedModulesForAllRequests="true" in the system.webServer\modules element. You can also selectively enable individual modules to run by setting the precondition to "" to override the default IIS behavior:

  <system.webServer>
<modules runAllManagedModulesForAllRequests="true">
  <add name="WSFederationAuthenticationModule" type="Microsoft.IdentityModel.Web.WSFederationAuthenticationModule, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="" />
  <add name="SessionAuthenticationModule" type="Microsoft.IdentityModel.Web.SessionAuthenticationModule, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="" />
</modules>

Regards