【发布时间】:2012-03-25 18:29:39
【问题描述】:
我正在关注Pluralsight video on Authentication。
我正在尝试向我的 Web 服务添加简单的 PrinciplePermission 身份验证:
[PrincipalPermission(SecurityAction.Demand, Role = "Computer\\Group")]
public String testDBConnection()
{
return "success";
}
在我发送的 WCF 客户端中:
client.ClientCredentials.UserName.UserName = "Alice";
client.ClientCredentials.UserName.Password = "alice";
我已经根据视频创建了群组并将爱丽丝添加到其中,但现在......
我不断收到错误:
“请求主体权限失败。”
知道有什么问题吗?
【问题讨论】:
-
当使用
ClientCredentials发送用户名和密码时,我最近注意到在服务器端的Thread.CurrentPrinciple中没有可用的信息。PrinciplePermission使用Thread.CurrentPrinciple来验证用户。不知道能不能这样配置。 -
@Steven 感谢您的回复,很抱歉我不知道 Thread.CurrentPriciple 是什么,您能否提供更多详细信息?
-
Thread.CurrentThread.CurrentPrincipel返回一个IPrincipal实例,通常是WindowsPrincipel。这包含正在运行线程的当前用户的信息。 -
您解决了吗?我看到了同样的错误
-
@Stephen Nutt 我最终采用了不同的方法,因为我需要的只是简单的用户名密码身份验证。回想起来,我怀疑这可能是因为我没有 SSL 证书,因为他们在视频中做了,后来证明这对我来说是必不可少的。