我有一个运行在IIS-10上的IIS托管的WCF服务应用程序。WCF已在https上运行。我的问题是,该服务目前可供所有人通过我在IIS上配置的链接访问。WCF的目的是在我的Xamarin.Forms-App和SQL数据库之间传输数据。我想知道如何使我的服务通过身份验证(用户名、密码?)或类似的东西,以及我如何在Xamarin.Forms中进行身份验证以“打开”连接。我在谷歌上找不到任何与我的情况相匹配的东西,所以也许你可以帮我解决我的问题。
ppcbkaq51#
您可以使用多个身份验证方案和WCF进行身份验证。对于IIS承载的服务,可以根据IIS中选择的内容相应地设置身份验证。元素ServiceAuthenticationBehavior或<serviceAuthenticationManager>用于认证服务。This article有更详细的解释。
ServiceAuthenticationBehavior
<serviceAuthenticationManager>
ServiceAuthenticationBehavior sab = null; sab = serviceHost.Description.Behaviors.Find<ServiceAuthenticationBehavior>(); if (sab == null) { sab = new ServiceAuthenticationBehavior(); sab.AuthenticationSchemes = AuthenticationSchemes.Basic | AuthenticationSchemes.Negotiate | AuthenticationSchemes.Digest; serviceHost.Description.Behaviors.Add(sab); } else { sab.AuthenticationSchemes = AuthenticationSchemes.Basic | AuthenticationSchemes.Negotiate | AuthenticationSchemes.Digest; }
字符串然后在配置文件中使用元素<serviceAuthenticationManager>:
<behaviors> <serviceBehaviors> <behavior name="limitedAuthBehavior"> <serviceAuthenticationManager authenticationSchemes="Negotiate, Digest, Basic"/> <!-- ... --> </behavior> </serviceBehaviors> </behaviors>
型您可以阅读the article about Authentication of Xamarin.Forms以获得更多帮助。
Authentication of Xamarin.Forms
1条答案
按热度按时间ppcbkaq51#
您可以使用多个身份验证方案和WCF进行身份验证。对于IIS承载的服务,可以根据IIS中选择的内容相应地设置身份验证。
元素
ServiceAuthenticationBehavior
或<serviceAuthenticationManager>
用于认证服务。This article有更详细的解释。字符串
然后在配置文件中使用元素
<serviceAuthenticationManager>
:型
您可以阅读the article about
Authentication of Xamarin.Forms
以获得更多帮助。