如何处理SilverLight 4和WPF应用程序的WCF身份验证

Yoa*_*. B 7 c# silverlight wpf wcf

我正在寻找建议,以便为针对SilverLight和WPF客户端接口的应用程序处理WCF身份验证.

编辑:实际上,我需要的身份验证模式是用户名/密码组合.

此外,将来应用程序应该能够以完全独立模式(同一应用程序内的同一台计算机上的客户端(WPF)和服务器)工作.那么在这种情况下我不应该使用WCF吗?

编辑:另外一个补充,在未来再次应用程序应该能够在本地网络客户端 - 服务器模式(但没有IIS),如游戏.那么在这种情况下我不应该使用WCF吗?还是其他选择?

Gau*_*ssZ 1

您可以通过继承UserNamePasswordValidator并在行为配置中设置 customUserNamePasswordValidatorType 来实现自己的验证器,如下所示:

<behaviors>
            <serviceBehaviors>
                <behavior name="">
                    <serviceMetadata httpGetEnabled="true" />
                    <serviceCredentials>
                        <userNameAuthentication userNamePasswordValidationMode="Custom"
                                                customUserNamePasswordValidatorType="MyNamespace.MyValidator, MyNamespace" />
                    </serviceCredentials>
                </behavior>
            </serviceBehaviors>
        </behaviors>
Run Code Online (Sandbox Code Playgroud)

在客户端,您可以将用户名/密码组合设置到服务的 ClientCredentials.UserName.UserName/Password 属性中。