ASP.Net从另一个受信任的林中验证用户

时间:2009-03-12 03:33:43

标签: c# asp.net active-directory cross-domain

我想在Asp.Net应用程序中对来自另一个(受信任)林的用户进行身份验证。 到目前为止,我已经在我的web.config中找到了这个:

<?xml version="1.0"?>
<configuration>
  <appSettings/>
  <connectionStrings/>
  <system.web>
    <compilation debug="true" />
    <authentication mode="Windows" />
    <authorization>
      <deny users="?"/>
    </authorization>
  </system.web>
</configuration>

我的应用程序在域A中的服务器上运行,在林A中。 我想限制我的应用程序访问域A中的组。 该组将成为“域名本地组”。 该组将包含来自林B中域B的用户。 森林B受到森林A的信任。

说了这么多,如果有更好的方法,请告诉我。

提前致谢

-update -

我刚刚与用户测试过,而User.Identity.Name看起来似乎是正确的。此外,User.IsInRole似乎在检查其他林中的用户是否在我的林的域本地组中时给出了预期的结果。仍然需要一些运气,让'allow'和'deny'的东西在web.config中运行。

1 个答案:

答案 0 :(得分:0)

好的,只为我工作,这样做:

<?xml version="1.0"?>
<configuration>
  <system.web>
    <authentication mode="Windows"/>
    <authorization>
      <allow roles="MYDOMAIN\MyDomainLocalGroup"/>

      <deny users="*"/>
      <deny users="?"/>
     </authorization>
  </system.web>
</configuration>

有趣的是,这是执行asp.net身份验证的普通常规方法,将用户限制为仅限某个组中的用户。我不确定为什么它第一次不起作用。