Authentication WCF中的方法级安全性

Authentication WCF中的方法级安全性,authentication,.net-3.5,wcf,Authentication,.net 3.5,Wcf,您好我想创建一个具有登录方法的WCF服务,该方法用于验证和赋予用户角色,并根据该角色允许或不允许用户调用其他服务方法。哪种方法最好?是否有WCF标准机制来实现这一点?非常感谢 基本上你没有。从登录方法返回票据是不安全的,如何阻止应用程序编辑票据并在每次后续请求中发送伪造版本。是的,你可以在上面签名,但是你寄的东西很大 相反,每次只需要用户名/密码组合,并使用标准的身份验证和授权位,以及基于角色的CA来检查和限制角色 WCF已经提供了使用基于消息的安全性所需的一切,并且每个请求都需要用户名和密码,

您好
我想创建一个具有登录方法的WCF服务,该方法用于验证和赋予用户角色,并根据该角色允许或不允许用户调用其他服务方法。哪种方法最好?是否有WCF标准机制来实现这一点?
非常感谢

基本上你没有。从登录方法返回票据是不安全的,如何阻止应用程序编辑票据并在每次后续请求中发送伪造版本。是的,你可以在上面签名,但是你寄的东西很大

相反,每次只需要用户名/密码组合,并使用标准的身份验证和授权位,以及基于角色的CA来检查和限制角色

WCF已经提供了使用基于消息的安全性所需的一切,并且每个请求都需要用户名和密码,这是一个标准的SOAP函数。插入身份验证提供程序(如果您已经在使用ASP.NET成员资格函数,则很容易),然后插入角色(如果您正在使用ASP.NET位,则同样很容易-否则

一旦有了基于角色的主体,就可以使用声明式权限要求

[PrincipalPermission(SecurityAction.Demand, Role = "Administrators")] 

关于你想要保护的方法,甚至整个类。

这个服务是如何调用的?Ajax?Silverlight?Webforms?其他网站?不是web,这是一个WPF独立应用程序+1实现这一点的好方法,但这是最好的吗?向每个方法传递用户名密码是不容易的,我认为…根据评论更新。需要用户名and密码是一个标准的SOAP函数,基于令牌的东西不是。谢谢blowdart!现在我看到了我问题的答案