PrincipalPermission仅适用于某些AD组

时间:2012-05-08 11:27:56

标签: c# wcf active-directory iis-7.5 principalpermission

以下作品完美无缺(DOMAIN\DEVELOPERS):

[PrincipalPermission(SecurityAction.Demand,Role="DEVELOPERS")]
public string Test()
{
   return "Works..";
}

运行的用户是该组的成员,所以“当然”它可以运行。我有另一个组,用于名为AdvisoryWcfUsers的此WCF服务,其中包含几个用户和组(在AD中;因此DOMAIN\AdvisoryWcfUsers)。我百分百肯定我是这个小组的成员,但是,我得到了:

  

System.ServiceModel.Security.SecurityAccessDeniedException:访问被拒绝

这不是一个错字,似乎IIS没有权限查找这个新组。 DEVELOPERS组是一个“旧”组,而AdvisoryWcfUsers是为了此目的而创建的。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

创建群组后,您是否再次登录并成为其中的一员? Windows组称为“子权限”,在登录时附加到您的安全令牌。因此,只有在登录后才能检测到组成员身份的任何更改(必须是域登录,而不是缓存!)。