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