0

我開發了一個ASP.NET Intranet應用程序。現在我被要求爲應用程序添加身份驗證 - 它應該基於Active Directory。用戶不應該填寫任何登錄名或密碼。

從內ASP.NET C#代碼,我應該能夠檢查這樣的事情:ASP.NET Active Directory身份驗證User.IsInRole

if (User.IsInRole("MyApplicationReaders")) 
{ 
    doSomething(); 
} 
else if (User.IsInRole("MyApplicationAdmins")) 
{ 
    doSomethingElse(); 
} 

MyApplicationReaders和MyApplicationAdmins是Active Directory組的名稱。

你可以請我指出一些簡單的一步一步的教程如何實現這一目標?我沒能找到任何:-(

回答

0

嘗試搜索更難

您必須添加到配置文件中的身份驗證方法:

<authentication mode="Windows" /> 

,並添加授權規則:

<authorization> 
    <allow users="DomainName\Bob, DomainName\Mary" /> 
    <allow roles="BUILTIN\Administrators, DomainName\Manager" /> 
    <deny users="*" /> 
</authorization> 

This page for help。

PS:After you'll添加Windows身份驗證到您的應用程序,您將能夠檢查User.IsInRole爲已驗證的用戶。但在某些瀏覽器中,用戶將被要求輸入他們的Windows憑據。

0

您可以將IIS設置爲自動驗證用戶身份,但通常您會實施自己的授權方案。過去,我使用數據庫將我的AD帳戶映射到應用程序角色/權限。

爲了使用IsInRole(),您必須填充用戶主體對象。最簡單的做法是在Global.asax event BeginRequest。另外看看創建一個Custom Role Provider

相關問題