gpt4 book ai didi

c# - WCF 的表单例份验证

转载 作者:太空宇宙 更新时间:2023-11-03 21:38:11 25 4
gpt4 key购买 nike

如何使用 FormsAuthentication 概念保护我的简单 WCF 服务?

ServiceContract 看起来与此类似:

    [ServiceContract]
public interface MovieDb
{
[OperationContract]
string GetData(int value);

[OperationContract]
string Login(int value);

[OperationContract]
string Logout(int value);

}

我在我的 MVC 4 应用程序中使用了 FormsAuthentication 进行身份验证和授权。

我能想到的就是在 ServiceContract 类的顶部添加 Authorize Filter 属性。

非常感谢任何简单的指示。谢谢。

最佳答案

您可以使用用户名/密码(表单例份验证)保护您的 WCF:

Message Security with a User Name Client

如果您决定在服务器端的 WFC 配置中使用成员资格进行身份验证,您可以添加配置成员资格的行为:

<behavior name="myBehavior"> 
<serviceAuthorization principalPermissionMode="UseAspNetRoles" roleProviderName="myRoleProvider"/>
<serviceCredentials>
<serviceCertificate findValue="*.mycert.net" storeLocation="LocalMachine" x509FindType="FindBySubjectName"/>
<userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="myMembershipProvidewr"/>
</serviceCredentials>
</behavior>

您的 WCF 可以像验证一样简单

  [PrincipalPermission(SecurityAction.Demand, Role = "My Role")]
public bool GetSomething(string param1)
{
...

您可以在此处找到更多信息: http://msdn.microsoft.com/en-us/library/ff650067.aspx

关于c# - WCF 的表单例份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20682404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com