c# - PrincipalPermission 仅适用于某些 AD 组

标签 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)。我 100% 确定我是该组的成员,但尽管如此,我得到:

System.ServiceModel.Security.SecurityAccessDeniedException: Access is denied

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

最佳答案

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

关于c# - PrincipalPermission 仅适用于某些 AD 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10497716/

相关文章:

c# - Response.Write() 和 Response.Output.Write() 有什么区别?

c# - 更多 C# 自动化到 Excel

c# - 为什么我们的项目需要接口(interface)层/抽象类?

wcf - 使用相同的 HTTPS 客户端证书并发 session 在 IIS 上出现 413 错误

perl - 从 1000 增加限制?

c# - 如何获取 UserPrincipal 类未表示的 Active Directory 属性

c# - ASP.NET MVC 从虚拟路径获取文件

c# - WCF MessageHeader 不会写入命名空间

c# - WCF REST 的身份验证方法

c# - Active Directory 中的 userAccountControl