1

我有一个使用Windows身份验证的ASP.NET MVC应用程序。我希望我们的工作人员能够在无需登录的情况下使用该应用程序。但是,我们将某些通用的部门标识作为用户在Active Directory中。我该如何让我的应用程序不允许这些用户,这样如果一个员工用这些通用想法之一登录到计算机,应用程序将使他们登录?ASP.NET:禁止某些Active Directory用户

谢谢!

+0

都是非用户帐户的“用户组”的成员,或者是有该用户的任何分离组? –

回答

1

我会把受限制的部门用户放到一个AD组中,然后你可以把它放在你的web.config中,在拒绝特定组权限的授权下。

请参见下面的例子(DepartmentIDs将是你的AD组):

<?xml version="1.0"?> 
<configuration> 
    <system.web> 
     <compilation debug="true" /> 
     <authentication mode="Windows" /> 

     <authorization> 
      <allow roles="DomainName\AuthorizedUsers" /> 
      <deny users="DomainNames\DepartmentIDs" /> 
     </authorization> 
    </system.web> 
</configuration> 

用户也可以指定为

<deny users="comma-separated list of users"> 

或者,你也不能否认的角色。这里有很多选择。您还可以直接在IIS中执行权限,具体取决于Web应用程序,虚拟目录,NTFS目录访问权限。我会坚持使用web.config,但我相信你会从其他人听到几种不同的选择。

我还读到一篇有趣的文章关于身份冒充在.NET中,我们来看一看: http://msdn.microsoft.com/en-us/library/xh507fc5%28v=VS.90%29.aspx

+0

太好了,谢谢!这看起来正是我所需要的。 –