我有一个使用 Windows 身份验证的 ASP.NET MVC 应用程序。我希望我们的员工无需登录即可使用该应用程序。但是,我们在 Active Directory 中拥有某些通用的部门 ID 作为用户。如何让我的应用程序禁止这些用户,以便如果员工使用这些通用想法之一登录到计算机,应用程序将使他们登录?
谢谢!
我有一个使用 Windows 身份验证的 ASP.NET MVC 应用程序。我希望我们的员工无需登录即可使用该应用程序。但是,我们在 Active Directory 中拥有某些通用的部门 ID 作为用户。如何让我的应用程序禁止这些用户,以便如果员工使用这些通用想法之一登录到计算机,应用程序将使他们登录?
谢谢!
我会将受限制的部门用户放入一个 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