2014年2月14日 星期五

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>

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

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