我已经建立了一个ASP.NET网站,我公司的内部网。 它是利用Windows身份验证,我们使用Active Directory。 我想要做的是限制这个网站的某些网页(添加,删除),所以只有少数人可以访问它。 如何做到这一点任何想法? 我想在Active Directory中创建组,这样我就可以加人到他们,他们自动可以访问这些受限制的页面。
谢谢你的帮助
我已经建立了一个ASP.NET网站,我公司的内部网。 它是利用Windows身份验证,我们使用Active Directory。 我想要做的是限制这个网站的某些网页(添加,删除),所以只有少数人可以访问它。 如何做到这一点任何想法? 我想在Active Directory中创建组,这样我就可以加人到他们,他们自动可以访问这些受限制的页面。
谢谢你的帮助
你只需要告诉ASP.NET保护的内容和方式。 这是通过你的web.config设置完成。 例如,如果你改变你的web.config ASP.NET应用程序,以反映如下:
<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组中的用户可以访问该文件夹中的页面。
另外,如果他们没有分离到一个文件夹中的web.config文件中的位置节点的“路径”设置可以设置为你的应用程序的单个文件。
如果你的应用程序是MVC,位置“路径”变量与调用您的端点所采取的路径。 这些通常是在你的RouteConfig.cs文件中指定。 举例来说,如果你有一个MVC的URL“website.com/viewA/show”与“website.com/AdminView/show”。 为了限制访问viewA路径将是“viewA”和“AdminView”限制对AdminView的URL访问。
你可以使用文件/文件夹权限来限制用户对这些网页。 所以,如果你有一个叫做HR与它的一些网页文件夹中,您将设置对HR文件夹中的文件夹权限,允许读取访问HR组在Active Directory中。