ADFS 2.0 使用VS2013設定Claims-Aware Application

首先新增一個Web專案


這裡以MVC專案為例,選擇變更驗證

驗證方式改成組織帳戶,登入方式改成內部部署,並輸入FederationMetadata.xml的網址和應用程式的網址,需要SSL

FederationMetadata.xml的位置可在ADFS的服務>>端點找到

驗證方式變更為組織驗證(內部部署)後,按下確定建立新專案

將網站部署到IIS後,輸入該網站的網址來測試一下,因為SSL用的憑證是自已發的,所以會有警告訊息

接下來會轉向到STS去做驗證,一樣會有SSL的警告訊息

接下來預設是會跳出視窗讓你輸入帳密

如果要改成登入頁面的方式,可以到adfs的web.config中去設定一下

找到localAuthenticationTypes區段,把forms的順序換到最上面即可
如果要自訂登入頁面,就把後面的Page指定的頁面換掉即可
<microsoft.identityServer.web>
<localAuthenticationTypes>
<!– 把Forms換到最上面 後面的page就是登入頁面–>
<add name=”Forms” page=”FormsSignIn.aspx” />
<add name=”Integrated” page=”auth/integrated/“ />
<add name=”TlsClient” page=”auth/sslclient/“ />
<add name=”Basic” page=”auth/basic/“ />
</localAuthenticationTypes>
<commonDomainCookie writer=”” reader=”” />
<context hidden=”true” />
<error page=”Error.aspx” />
<acceptedFederationProtocols saml=”true” wsFederation=”true” />
<homeRealmDiscovery page=”HomeRealmDiscovery.aspx” />
<persistIdentityProviderInformation enabled=”true” lifetimeInDays=”30” />
<singleSignOn enabled=”true” />
</microsoft.identityServer.web>
</configuration>

登入的方式就會變成一般的登入頁面

帳號驗證成功後就會回到一開始的網站,並顯示出轉送規則中的名稱