Windows Azure - 建立ASP.NET MVC專案時,使用Windows Azure AD驗證

26 February 2014 — Written by Sky Chang
#Active Directory#ASP.NET MVC#Azure

我們持續前一篇的Windows Azure AD的後續應用,既然提到AD又提到應用程式,大家應該就會想到,要ASP.NET MVC使用Windows Azure AD驗證了,所以這篇,我們就來看看如何執行。

在開始前,我們可以先看下圖,了解整個的流程。

  1. 用戶請求,來了解要從哪裡去處理身份驗證的訪問權限,所以可以從這個步驟得知,要和Windows Azure AD進行驗證。
  2. 透過Windows Azure AD進行驗證,當然,Windows Azure AD那邊要去建立帳號。
  3. 一旦驗證成功,瀏覽器被重新導向,並且帶這個一個安全令牌(下面的圖形T)。
  4. 然後就拿這個個令牌(Token)進入應用程式。

 

Image source: http://msdn.microsoft.com/en-us/library/windowsazure/dn151790.aspx

基本上和Local的AD驗證差不多啦…那該怎麼做呢?其實很簡單…

首先,我們開啟一個新的ASP.NET MVC的專案,然後選擇變更驗證。

image

這邊,因為我們要使用的是Windows Azure AD,所以要選擇組織帳戶;接下來,選擇雲端-單一組織(因為小弟我也只有一個阿QQ);網域的部分,記得要Key Windows Azure AD的網域,小弟這邊因為自己有經過DNS處理了,不然預設的情況下通常是xxx.onmicrosoft.com;存取層級有一些選項可以選,因為我們只需要登入,所以選擇登入就好,如果想要讀寫等功能,可以選擇其他的選項;最後ID URI會自動建立,基本上不用去動( 這個到時候會自動在Windows Azure AD上建立,所以未來也可以自己重新改URI )

image

完成之後,就可以看到右下角有組織驗證的選項出現了。

image

是的,其實這樣就完成了… ( 吐菸 ),但實際上做了哪些事情勒!?….

首先,會於NuGet增加這個Microsoft Token validation的Libary。

image

然後會在Web.config加上 堆資訊。在Section那邊,加上了identityModel的東西,還有appSettings也加上了ida開頭的東西…

image

然後Golbal.asax也增加了IdentityConfig.ConfigureIdentity();還有底下名稱超長的方法。

image

此外,也起用了SSL。

image

處此之外,Windows Azure也自動地將此服務建立起來了。

image

當我們啟用MVC的時候,就可以發現,他自動地跳轉到登入的頁面。

SNAGHTML47254d7

登入之後,我們就可以從右上角看到,取得了帳號了!!

SNAGHTML47373c4

初步就先到這邊吧,下一篇,會介紹一下,如果已經有應用程式了,該怎樣啟動此功能!!

參考資料

Sky & Study4.TW