使用ASP保护WCF服务.. NET Auth和Silverlight的DomainService
本文关键字:Silverlight DomainService Auth NET ASP 保护 WCF 服务 使用 | 更新日期: 2023-09-27 18:03:32
我有基本的ASP。. NET认证域服务运行在我的Silverlight应用程序中(VS2010 Silverlight Business模板附带的那个)。
我如何使用认证,这授予安全方法暴露的标准WCF服务(也托管在IIS中的同一应用程序)?
好的,这就是您的做法,标准WCF服务需要几个属性,并且您需要分配Thread.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 RIA服务的安全性。你要找的是RequiresAuthentication属性。
[RequiresAuthentication]
public Foo SomeMethodCall(object parameter1)
{
return service.GetResult(parameter1)
}