C# 使用ASP.NET身份验证和Silverlight的DomainService保护WCF服务
我的Silverlight应用程序(VS2010 Silverlight业务模板附带的应用程序)中运行了基本的ASP.NET身份验证域服务C# 使用ASP.NET身份验证和Silverlight的DomainService保护WCF服务,c#,.net,silverlight,wcf,wcf-ria-services,C#,.net,Silverlight,Wcf,Wcf Ria Services,我的Silverlight应用程序(VS2010 Silverlight业务模板附带的应用程序)中运行了基本的ASP.NET身份验证域服务 如何使用此授权的身份验证来保护标准WCF服务(也托管在IIS中的同一应用程序中)公开的方法?一个好的起点是:。您要查找的是属性 [RequiresAuthentication] public Foo SomeMethodCall(object parameter1) { return service.GetResult(parameter1) }
如何使用此授权的身份验证来保护标准WCF服务(也托管在IIS中的同一应用程序中)公开的方法?一个好的起点是:。您要查找的是属性
[RequiresAuthentication]
public Foo SomeMethodCall(object parameter1)
{
return service.GetResult(parameter1)
}
一个好的起点是:。您要查找的是属性
[RequiresAuthentication]
public Foo SomeMethodCall(object parameter1)
{
return service.GetResult(parameter1)
}
好的,这就是您要做的,标准WCF服务需要几个属性,您需要分配
线程。CurrentPrincipal
:
[ServiceContract(Namespace = "")]
[SilverlightFaultBehavior]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Service1
{
public Service1()
{
Thread.CurrentPrincipal = HttpContext.Current.User;
}
[OperationContract]
[PrincipalPermission(SecurityAction.Demand, Role = "Registered Users")]
public string DoSomeWork()
{
return "working";
}
}
好的,这就是您要做的,标准WCF服务需要几个属性,您需要分配
线程。CurrentPrincipal
:
[ServiceContract(Namespace = "")]
[SilverlightFaultBehavior]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Service1
{
public Service1()
{
Thread.CurrentPrincipal = HttpContext.Current.User;
}
[OperationContract]
[PrincipalPermission(SecurityAction.Demand, Role = "Registered Users")]
public string DoSomeWork()
{
return "working";
}
}
我想你不太明白我的问题。我有一个提供身份验证的域服务,但我想保护一个普通的WCF操作。一旦用户被授予了auth,他们就应该能够使用票据调用标准的WCF方法(不是DomainService方法)。谢谢你发布信息。看起来很有趣。实际上这很简单,只要你知道怎么做就行了:我想你还没完全明白我的问题。我有一个提供身份验证的域服务,但我想保护一个普通的WCF操作。一旦用户被授予了auth,他们就应该能够使用票据调用标准的WCF方法(不是DomainService方法)。谢谢你发布信息。看起来很有趣。实际上这很简单,只要你知道怎么做就行了:D