- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 Silverlight 4 应用程序,它在同一台服务器(自托管)上使用 WCF 服务。一切正常,但现在我想将我的 WCF 服务转换为使用 SSL。我正在使用 CustomBindings,但无法完全找到完成此操作的组合。我在客户端使用相对 URL,希望这不会造成问题。以下是我的 Web.config 文件的重要部分:
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph="6553600"/>
<serviceTimeouts transactionTimeout="00:10:00"/>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<customBinding>
<binding name="MyApp.Web.Services.ProjectService.customBinding0"
receiveTimeout="00:10:00" sendTimeout="00:10:00">
<binaryMessageEncoding />
<httpsTransport maxReceivedMessageSize="2147483647" />
</binding>
</customBinding>
</bindings>
<services>
<service name="MyApp.Web.Services.ProjectService">
<endpoint address="" binding="customBinding" bindingConfiguration="MyApp.Web.Services.ProjectService.customBinding0"
contract="MyApp.Web.Services.ProjectService" />
</service>
我的 ClientConfig 是这样的:
<configuration>
<system.serviceModel>
<bindings>
<customBinding>
<binding name="CustomBinding_ProjectService">
<binaryMessageEncoding />
<httpTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" />
</binding>
</customBinding>
</bindings>
<client>
<endpoint address="../Services/ProjectService.svc" binding="customBinding"
bindingConfiguration="CustomBinding_ProjectService" contract="SearchProxy.ProjectService"
name="CustomBinding_ProjectService" />
</client>
</system.serviceModel>
</configuration>
我只是不明白绑定(bind)在服务器和客户端中是如何工作的。我希望有人能给我指出正确的方向。
最佳答案
一些事情:
如果您想在本地主机上使用 SSL,则需要使用 IIS Express 7.5(如果您在服务器上进行开发,则需要使用完整的 IIS——不太可能)。
您需要一个存储在 Web 应用程序根目录中的 clientaccesspolicy.xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers= "SOAPAction">
<domain uri="https://*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
服务器端 Web.config 示例:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="SecureBasicHttpBinding">
<security mode="Transport">
<transport clientCredentialType="Certificate" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="SomeBehavior" >
<serviceMetadata httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<useRequestHeadersForMetadataAddress>
<defaultPorts>
<add scheme="https" port="443" />
</defaultPorts>
</useRequestHeadersForMetadataAddress>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment>
<serviceActivations>
<add relativeAddress="SomeService.svc" service="MySilverlight.Web.SomeService"/>
</serviceActivations>
</serviceHostingEnvironment>
<services>
<service name="MySilverlight.Web.SomeService"
behaviorConfiguration="SomeBehavior">
<endpoint address="SomeService"
binding="basicHttpBinding"
bindingConfiguration="SecureBasicHttpBinding"
bindingNamespace="https://MySilverlight.Web.SomeService"
contract="MySilverlight.Web.ISomeService">
</endpoint>
<endpoint address="mex"
binding="mexHttpsBinding"
contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
客户端示例:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_ISomeService" maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="Transport" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="https://localhost/SomeService.svc/SomeService"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ISomeService"
contract="MySilverlight.Web.SomeServiceReference.ISomeService"
name="BasicHttpBinding_ISomeService" />
</client>
<extensions />
</system.serviceModel>
</configuration>
IIS 7.5 将自动设置您的本地主机证书。
关于Silverlight 4 - 配置自承载 WCF 服务以使用 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6063304/
我能够CreateContainers、ListContainers、ListBlobs,但是当我尝试发出PUT/DELETE请求来上传或时>删除 Azure 存储 blob 中的文件,但发出请求后显
我想验证从浏览器应用程序传递过来的 API 中的不记名 token 。 API 将通过调用 ../userinfo 端点来验证针对 Keycloak 的 token ,如果检查运行正常,则以所需的内容
大家好,我正在关注 azure 的下一个教程: https://learn.microsoft.com/en-us/rest/api/apimanagement/current-ga/subscrip
我们即将开始集成测试我们的 REST API,这些 API 使用 ADAL.js/不记名 token /passport-azure-ad 进行保护。 现在讨论实际问题,在自动化测试中,我将如何获取不
我们即将开始集成测试我们的 REST API,这些 API 使用 ADAL.js/不记名 token /passport-azure-ad 进行保护。 现在讨论实际问题,在自动化测试中,我将如何获取不
我正在尝试通过 Javascript 将授权 token 承载发送到 REST 端点,所以我这样做: $.ajax( { url: 'http://localhost:8080/resourc
我有一个用于 SSO 的 .NET Core IdentityServer (IS),我想用它来对我的 .NET Core(后端)-Angular(客户端)应用程序进行身份验证。我希望在后端有一个 E
我需要为我的 API 发送我的 token 。我将我的 token 保存在 SharedPreferences 中,我可以恢复它。我的 API 需要一个,与 Bearer 但怎么办? 我测试了授权、H
根据RFC6750 -OAuth 2.0授权框架:不记名 token 使用,不记名 token 是: A security token with the property that any party
我们使用 Angular、.Net WebApi 和 Azure 构建多个应用程序。我们一直在做的是通过隐式 oAuth2/OIDC 授权流程通过 Azure AD 保护应用程序。 一切进展顺利,但到
使用 Owin + Oauth2 + Identity2。 我有一个带有默认基本身份验证设置的 web Api,我已对其进行修改。 我的 startup.cs 部分类 public void Conf
我的应用程序有一个自定义窗口设计,这意味着每个窗口都有以下参数集 (XAML):WindowStyle="无"AllowsTransparency="假" 其中一个子窗口需要显示一个 Flash 组件
我们正在开发具有 JWT Bearer 身份验证的 .Net Core 2.1 Web API。应用程序本身将生成并分发要发送到后端的 token 。 虽然我们已启动并运行所有内容,即我们可以从 An
我有带有 OWIN 管道的 ASP.NET 4.5 服务,它发出 OAuth access_token 以换取用户名/密码。该服务从 ng-app 调用,一旦它获得 token ,就会存储在浏览器的本
我有一个使用 Azure Active Directory 的 Java 后端应用程序。我正在使用 oauth2 不记名 token 登录。在后端,我正在搜索并使用 oauth2 属性“preferr
上周我为现有 MVC 应用程序创建了一个 API,现在正在尝试保护 API 并根据需要重新设计 MVC 端安全性。 目前,MVC 应用程序设置为通过 OWIN/OAuth/Identity 使用应用程
背景 我已经实现了 Thinktecture.IdentityServer.V3(openID Connect 之一)。我已将 OAuth2 承载 token 以以下形式返回到我的 javascrip
我不明白为什么这不起作用。我假设这是我忽略的简单事情。所有其他不使用 token 的测试方法都可以正常工作。目前 token 没有过期时间,我可以通过 Postman 很好地使用它。 @Test pu
在使用 passport 和 oauth2orize 实现 oauth2 堆栈时,在这种情况下,问题特别在于使用 oauth2orize jwt 承载。 oauth2orize jwt bearer
我正在我的 .NET Web 应用程序中实现 Web API 2 服务架构。消费请求的客户端是纯 javascript,没有 mvc/asp.net。我正在使用 OWIN 尝试根据本文 OWIN Be
我是一名优秀的程序员,十分优秀!