簡體   English   中英

我應該使用哪種安全性?

[英]Which security should I use?

我正在制作內部使用的Intranet MVC應用程序。 商店中只有其他人是服務器技術。 有人告訴我我們有一個域控制器,我們使用AD,每個用戶都是成組的。 我很確定我們使用Windows身份驗證(基於我們必須登錄到工作站的情況。

我不確定是否應該使用Directory Services中的UserPrincipal或HTTPContext中的Current.User或其他方式對用戶進行身份驗證。 只有某些廣告組中的人才能打開該應用。

顯然,我對應用程序安全性一無所知。 一旦我弄清楚了我應該使用哪種“技術”,我計划打書。 我還需要根據特定組檢查用戶。 我幾乎已經搞清楚了,但是當我知道它應該是真實的時,我就變得虛假了。

        if (HttpContext.Current.User.IsInRole("MyADGroup"))
        {
            IsAdmin = true;   //keeps returning false.
        }

那么我應該研究什么呢?

您可以使用此示例來幫助您開始使用Active Directory角色。

由於該應用程序是內部應用程序,因此您不想偏離Windows身份驗證,但是我建議您研究LDAP。

連接到LDAP服務器

祝好運!

您可以使用ActiveDirectoryMembershipProvider連接內部應用程序以使用AD中的用戶和組。 然后只需針對提供者實例( Membership.ValidateUser )進行身份驗證。 這使您可以將AD用作后備存儲,但可以將您的應用程序與對它的明確依賴隔離開。 這還將在HttpContext上填充UserPrincipal。

盡管IIS允許您為整個站點配置Windows身份驗證,但我建議將其與標准登錄表單一起使用。 通過使用標准的登錄表單以及支持AD的身份驗證,您可以保持脫鈎狀態,並允許匿名訪問,從而將網站的某些部分顯示為公共頁面。 這對於諸如應用程序幫助和FAQ之類的事情可能很有用,這可能對嘗試登錄但由於權限不允許或使用不正確的憑據而有用的人有用。 也提供更好的用戶體驗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM