IIS和Active Directory权限

时间:2014-04-29 18:26:56

标签: asp.net iis active-directory

我为我的公司内部网构建了一个ASP.NET网站。它使用Windows身份验证,我们使用活动目录。我想要做的是限制本网站的某些页面(添加,删除),因此只有少数人可以访问它。关于如何做到这一点的任何想法?我想在活动目录中创建组,这样我就可以添加人员,他们可以自动访问这些受限制的页面。

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

您可以使用文件/文件夹权限将用户限制为这些页面。因此,如果您有一个名为HR的文件夹,其中包含一些页面,您可以在HR文件夹上设置文件夹权限,以允许对Active Directory中的HR组进行读取访问。

答案 1 :(得分:0)

您只需要告诉ASP.NET要保护什么以及如何保护。这是通过您的web.config设置完成的。例如,如果更改ASP.NET应用程序的web.config以反映以下内容:

<system.web>
     <authentication mode=“Windows“ /> = Windows AD Auth
     <identity impersonate=“true“/> 
     <authorization>
        <allow users=“*“/>  = Only allow authenticated users into the web site
        <deny users=“?“/>  = Deny unauthenticated users         
     </authorization>
</system.web>

然后添加仅允许某些角色访问应用程序某些部分的位置配置部分。角色转换为Active Directory组,例如:

<location path="Admin">
    <system.web>
      <authorization>
        <allow roles=“BUILTIN\Administrators“ /> = only allow users of this AD Group
        <deny users=“*“/> = Deny everyone else
      </authorization>
    </system.web>
  </location>

这告诉ASP.NET只允许Active Directory组中的用户调用&#34; Administrators&#34;访问该文件夹中的页面。

此外,&#34;路径&#34;如果web.config文件中的位置节点没有分隔到文件夹中,则可以将其设置为应用程序的各个文件。

如果您的应用是MVC,则位置&#34;路径&#34; variable对应于调用端点所采用的路径。这些通常在RouteConfig.cs文件中指定。例如,如果你有一个MVC网址&#34; website.com/viewA/show" vs&#34; website.com/AdminView/show"。要限制对viewA的访问,路径将是&#34; viewA&#34;和#34; AdminView&#34;用于限制对AdminView网址的访问。