1

我已經構建了基於Azure的Web應用程序。我有一個web api服務作爲後端和angularjs作爲Azure中的前端宿主。AngularJs Web服務用戶帳戶

我想用個人用戶帳戶創建一個登錄頁面。經過一些閱讀後,我發現不同的用戶認證策略。有些使用SQL數據庫來管理用戶帳戶。有些使用Azure Active Directory。當我必須使用Azure AD和SQL數據庫時?

回答

1

我看來是比較你會得到什麼好處

Azure的AD:

https://azure.microsoft.com/en-us/documentation/articles/active-directory-whatis/

對於IT管理員,Azure的AD提供了一個經濟實惠,易於使用的解決方案 給員工和業務合作伙伴單一登錄(SSO)訪問 成千上萬的雲SaaS應用程序,如Office365,Salesforce.com, DropBox和Concur。

對於應用程序開發,Azure的AD讓您專注於通過使快速,簡單構建 應用程序與數以百萬計的組織 在世界各地使用世界一流的 身份管理解決方案集成。

天青AD還包括全套身份管理 功能,包括多因素認證,設備 註冊,自助服務密碼管理,自助服務組 管理,特權帳戶管理,基於角色的訪問控制, 應用使用監控,豐富的審計和安全監控 和警報。這些功能可以幫助保護基於雲的應用程序,簡化IT流程,降低成本並幫助確保滿足公司合規性目標。

自己與你的數據庫做它,你將不得不做所有自己e.g SSO以上Office365

所以,你要問自己,你的應用程序做什麼?並選擇適合您需求的方法

1

在SQL中管理自己的用戶帳戶的應用程序稱爲基於表單的身份驗證。這是大多數互聯網應用程序用於工作的方式,但它帶來了很多不利因素。

用戶必須記住每個站點的密碼,但通常會在多個站點上重複使用密碼。如果一個網站遭到黑客攻擊並擁有大量密碼數據庫,則其他網站上的用戶帳戶可能會被盜用。

爲了防止這種情況,網站必須確保他們的密碼存儲正確(鹹魚和一個緩慢的散列算法)並應用其他類型的操作安全性,以保護數據庫。

然後基於令牌的認證走過這讓應用程序委託認證件與外部第三方。這允許用戶使用相同的用戶名和密碼登錄到多個應用程序。

大多數第三方登錄供應商,如谷歌,微軟,臉譜等,對這些服務的專業工作,因此更可能比任何你自己創建的安全。

所以,除非你有很好的理由不這樣做,否則我會推薦使用第三方登錄提供程序,如Azure AD和其他可能的。