asp.net-mvc-3 – ASP.NET Web API – NTLM身份验证和HTTPS
我有以下配置:
>自托管ASP.NET Web API Web应用程序[2]通过HTTPS与Web API [1]通信. Web API [1]的Http绑定配置如下: httpBinding.Security.Mode = HttpBindingSecurityMode.Transport; 我无法使用https和ntlm授权使其工作. >如果我通过普通的http进行通信它是有效的,我已经过适当的身份验证 为什么仅更改传输协议(从http到https)会阻止NTLM身份验证工作? 感谢您的帮助! 解决方法
@Jacek Nowak
我自己遇到了同样的问题,今天我刚刚遇到了以下 post中详述的答案. 以下是我编写代码的方法. public class NTLMSelfHostConfiguration : HttpSelfHostConfiguration { public NTLMSelfHostConfiguration(string baseAddress) : base(baseAddress) { } public NTLMSelfHostConfiguration(Uri baseAddress) : base(baseAddress) { } protected override BindingParameterCollection OnConfigureBinding(HttpBinding httpBinding) { httpBinding.Security.Mode = HttpBindingSecurityMode.TransportCredentialOnly; httpBinding.Security.Transport.ClientCredentialType = System.ServiceModel.HttpClientCredentialType.Ntlm; httpBinding.ConfigureTransportBindingElement = element => element.AuthenticationScheme = System.Net.AuthenticationSchemes.IntegratedWindowsAuthentication; return base.OnConfigureBinding(httpBinding); } } public static class Program() { public static void main(string[] args) { var config = new NTLMSelfHostConfiguration("https://localhost/"); config.Routes.MapHttpRoute("Main","api/{controller}"); var server = new HttpSelfHostServer(config); server.OpenAsync().Wait(); Console.WriteLine("Running"); Console.ReadLine(); server.CloseAsync().Wait(); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 如何扩展asp.net web api 2用户?
- 我的团队成员不支持使用asp.net中提供的验证控件(用于Web应
- asp.net-mvc – 无法在Web服务器上启动调试.调试器无法连接
- 如何使用参数初始化ASP.NET用户控件?
- ASP.NET——验证控件
- asp.net-core – 在执行DI时指定服务选项的干净方法
- asp.net-mvc – 创建一些东西@using(Html.BeginForm())助手
- asp.net – 终止所有会话,然后是应用程序结束事件
- asp.net – 当我禁用提交按钮以防止双击时,为什么我的表单没
- asp.net-mvc – 无法获得有效的Unity Session Lifetime Man