簡體   English   中英

為ASP.NET MVC Intranet應用程序實施Windows身份驗證的最佳方法是什么?

[英]What's the best way to implement Windows Authentication for an ASP.NET MVC intranet application?

我創建了一個ASP.NET MVC 4應用程序,該應用程序以前使用Windows窗體對用戶進行身份驗證,但是我將其移至內部服務器,並希望基於其AD登錄和使用Windows身份驗證來對用戶進行身份驗證。

在我的數據庫中,我有一個用戶AD用戶名列表(域\\用戶名)和一些基本權限。 如果用戶嘗試訪問該應用程序,並且他們位於數據庫中,則我想授予訪問權限並分配其權限。 如果它們不在數據庫中,我想授予訪問權限,但只給他們分配基本權限(只讀)。

實施身份驗證的最佳方法是什么(無需重寫應用程序以使用簡單成員身份)? (或者那真的是最好的方法!?)

感謝您的幫助-每篇文章都指向簡單的身份驗證或在web.config中命名用戶。

我將使用ActiveDirectoryMembershipProvider提供身份驗證,然后修改數據庫以使其與SimpleRoleProvider對齊以提供授權。

我建議您考慮使用LDAP,它非常容易安裝和運行,並且調用非常簡單。

我建議編寫一個自定義屬性來處理此問題:

MyAuthorizationAttribute : AuthorizeAttribute
{
    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        //Check database here
    }
}

然后讓所有控制器從具有授權屬性的基本控制器繼承:

 [MyAuthorization]
 public class BaseController : Controller
 {
 }

 public class HomeController : BaseController
 {
      //Do Stuff
 }

暫無
暫無

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

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