[英]Securing an ADO.net WCF data service with ASP.NET Membership
你好,
我正在使用 WCF DataServices,我正在嘗試使用 asp.net 成員資格來保護它
這是我的代碼,
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="SecureWSBindingWithMembershipConfig" >
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="None" />
<message clientCredentialType="UserName"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="SecureServiceWithMembershipBehavior">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceAuthorization principalPermissionMode="UseAspNetRoles" roleProviderName="AspNetSqlRoleProvider" />
<serviceCredentials>
<userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="AspNetSqlMembershipProvider" />
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="DataService.WcfDataService" behaviorConfiguration="SecureServiceWithMembershipBehavior">
<endpoint address="WcfDataService.svc" binding="wsHttpBinding" contract="System.Data.Services.IRequestHandler" bindingConfiguration="SecureWSBindingWithMembershipConfig" >
<!--<identity>
<dns value="" />
</identity>-->
</endpoint>
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
我收到以下錯誤:
無法加載操作“ProcessRequestForMessage”,因為它具有 System.ServiceModel.Channels.Message 類型的參數或返回類型,或者具有 MessageContractAttribute 和其他不同類型參數的類型。 當使用 System.ServiceModel.Channels.Message 或帶有 MessageContractAttribute 的類型時,該方法不得使用任何其他類型的參數。
你可以試試這個,如果這幾乎就像你的代碼:
Method(RequestMessage request, OtherType value)
// Your message contract much like this.
[MessageContract]
public class RequestMessage {
[MessageBodyMember]
public OtherType { get; set; }
}
// And your new method will be
Method(RequestMessage request)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.