我有一个问题,是否可以通过使用IIS来限制用户对特定路由的特殊AD组的访问?
到目前为止,我已经能够通过location标签限制整个应用的访问,并能够在IIS10上的web.config中为某些组启用授权。
<location>
<system.webServer>
<security>
<authorization>
<clear />
<add accessType="Deny" users="?" />
<add accessType="Allow" roles="mydomain/group, mydomain/group2" />
</authorization>
</security>
</system.webServer>
</location>
现在,我想将对Angular中定义的/ admin路由的访问限制为只能在一组中通过hostdomain / admin访问。但是,当我仅使用一组时,它将不起作用。我认为是因为Angular路由中的路径是虚拟路径,而location标签中的路径是磁盘上的物理文件夹。
<location path="admin">
<system.webServer>
<security>
<authorization>
<clear />
<add accessType="Deny" users="?" />
<add accessType="Allow" roles="mydomain/group2" />
</authorization>
</security>
</system.webServer>
</location>
是否可以通过任何方式来限制对IIS中/ admin路由的访问,或者我需要在ExpressJS后端中添加中间件并进行调用以调用AD,获取已认证用户的所有用户组,过滤特定组并在ExpressJS和Angular中手动限制访问?