打开您的 web.config 文件。
找到身份验证节点。
将其更改为:
<authentication mode="Forms" />
至:
<authentication mode="None" />
在这里评论,如果它没有帮助,以及更改 web.config 后的结果是什么。
作为一个附带问题 - 您是如何添加对 ACS 命名空间的引用 - 通过“右键单击 -> 添加 STS 引用”,还是手动更改 web.config ?
确保在 Web 服务器上注册了所需的模块:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="ClaimsPrincipalHttpModule" type="Microsoft.IdentityModel.Web.ClaimsPrincipalHttpModule, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler" />
<add name="WSFederationAuthenticationModule" type="Microsoft.IdentityModel.Web.WSFederationAuthenticationModule, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler" />
<add name="SessionAuthenticationModule" type="Microsoft.IdentityModel.Web.SessionAuthenticationModule, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler" />
</modules>
...
</system.webServer>
还要确保您有 microsoft.identityModel 部分,并且其中有 federatedAuthentcation 节点:
<federatedAuthentication>
<wsFederation passiveRedirectEnabled="true" issuer="https://[your_namespace].accesscontrol.windows.net/v2/wsfederation"
realm="http://127.0.0.1:81/" requireHttps="false" />
<cookieHandler requireSsl="false" />
</federatedAuthentication>
其中“realm”应为真实方申请的有效URL。而 requireHttps="false" 是为了简化开发过程。
当您在本地调试它时,请确保您正在运行 Cloud 项目(它使用 IIS),而不是 Web 项目(它将使用 Cassini / webdevserver,它不了解 system.webServer 部分!)