NTLM授权WCF在ASP.NET Core中不起作用

2024-02-19

我遇到 NTLM 授权问题 我有一个在asp.net上运行没有任何问题的服务,但现在我需要在asp.net core上使用这个服务,但我无法通过授权。

我这样配置绑定:

        var binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly);
        binding.OpenTimeout = binding.CloseTimeout = 
        binding.SendTimeout = binding.ReceiveTimeout = TimeSpan.FromMinutes(1);
        binding.MaxReceivedMessageSize = 20971520;
        binding.MaxBufferPoolSize = binding.MaxBufferSize = 20971520;
        binding.ReaderQuotas.MaxArrayLength =
        binding.ReaderQuotas.MaxStringContentLength =
        binding.ReaderQuotas.MaxBytesPerRead =
        binding.ReaderQuotas.MaxNameTableCharCount = 2097152;

        binding.TextEncoding = Encoding.UTF8;
        binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Ntlm;
        //binding.Security.Mode = BasicHttpSecurityMode.TransportWithMessageCredential;
        binding.TransferMode = TransferMode.Buffered;
        binding.AllowCookies = false;

然后添加

        ClientCredentials.Windows.ClientCredential.UserName = service.Login;
        ClientCredentials.Windows.ClientCredential.Password = service.Password;

然后我做了一些服务请求并得到

---> System.ServiceModel.Security.MessageSecurityException: HTTP 请求未经客户端身份验证方案“Ntlm”的授权。这 从服务器收到的身份验证标头是“NTLM”。

我打开 fiddler 并比较两个请求(asp.net 和 core) 我发现授权标头有所不同,但配置文件中的密码和登录名相同。

ASP.NET:

授权:NTLM TlRMTVNTUAABAAAAB4IYogAAAAAAAAAAAAAAAAAAAAAKADk4AAAADw==

Core :

授权:NTLM TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAKADk4AAAADw==

我尝试编写自定义行为,以便将来自 asp.net 的标头而不是 BeforeSendRequest() 中的核心变体放入其中,但在第二个请求客户端中再次发送标头的核心变体,我再次收到有关 NTLM 的相同消息

我可能会尝试在错误的地方发现错误吗?


我发现了这种行为的原因。 在 asp.net 中,我没有设置域,只设置登录名和密码,它可以工作。 但在asp dotnet core中它对我不起作用,我添加了Domain。现在它也可以在 asp dotnet core 中运行。

    var credentials = new NetworkCredential
    {
        UserName = service.Login,
        Password = service.Password,
        Domain = service.Domain
    };
    service.ClientCredentials.Windows.ClientCredential = credentials;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NTLM授权WCF在ASP.NET Core中不起作用 的相关文章

  • 使闭包捕获的变量变得易失性

    闭包捕获的变量如何与不同线程交互 在下面的示例代码中 我想将totalEvents 声明为易失性的 但C 不允许这样做 是的 我知道这是错误的代码 这只是一个例子 private void WaitFor10Events volatile
  • 什么可以解释托管堆上超过 5,000,000 个 System.WeakReference 实例?

    我一直在针对生产 ASP NET Web 应用程序运行负载测试 并且看到在堆上创建了大量 System WeakReference 在大约 15 分钟内 负载管理堆内存已飙升至大约 3GB 并且我有大约 5 000 000 个对 Syste
  • 实时服务器上的 woff 字体 MIME 类型错误

    我有一个 asp net MVC 4 网站 我在其中使用 woff 字体 在 VS IIS 上运行时一切正常 然而 当我将 pate 上传到 1and1 托管 实时服务器 时 我得到以下信息 网络错误 404 未找到 http www co
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步
  • 在.rdlc报告的底部设置一个文本框

    我在 rdlc 报告中使用 tablix 有一个文本框 其中包含文本 签名 我想将此文本框放置在报告最后一页的底部 就在页脚之前 我已经用谷歌搜索了这个解决方案 但没有找到满意的结果 我的环境是VS2010 framework 4 0 有什
  • Cython 和类的构造函数

    我对 Cython 使用默认构造函数有疑问 我的 C 类 Node 如下 Node h class Node public Node std cerr lt lt calling no arg constructor lt lt std e
  • 使用 asp.net 发送 20,000 多封电子邮件

    我正在编写一个应用程序 需要向从我们的数据库中选择的学生发送大量电子邮件 每封电子邮件都将进行个性化 包括他们的姓名 学习课程等 因此需要一次发送一个 我可以在 SmtpClient 上循环执行此操作 但我担心我尝试发送的数字最终会遇到超时
  • WPF TabControl,用C#代码更改TabItem的背景颜色

    嗨 我认为这是一个初学者的问题 我搜索了所有相关问题 但所有这些都由 xaml 回答 但是 我需要的是后台代码 我有一个 TabControl 我需要设置其项目的背景颜色 我需要在选择 取消选择和悬停时为项目设置不同的颜色 非常感谢你的帮助
  • 在 ASP.NET Core 3.1 中使用包含“System.Web.HttpContext”的旧项目

    我们有一些用 Net Framework编写的遗留项目 应该由由ASP NET Core3 1编写的API项目使用 问题是这些遗留项目正在使用 System Web HttpContext 您知道它不再存在于 net core 中 现在我们
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • 如何将单个 char 转换为 int [重复]

    这个问题在这里已经有答案了 我有一串数字 例如 123456789 我需要提取它们中的每一个以在计算中使用它们 我当然可以通过索引访问每个字符 但是如何将其转换为 int 我研究过 atoi 但它需要一个字符串作为参数 因此 我必须将每个字
  • 当操作繁忙时,表单不执行任何操作(冻结)

    我有一个使用 C 的 WinForms 应用程序 我尝试从文件中读取一些数据并将其插入数据表中 当此操作很忙时 我的表单冻结并且无法移动它 有谁知道我该如何解决这个问题 这可能是因为您在 UI 线程上执行了操作 将文件和数据库操作移至另一个
  • 将 xml 反序列化为类,list<> 出现问题

    我有以下 XML
  • 控制到达非 void 函数末尾 -wreturn-type

    这是查找四个数字中的最大值的代码 include
  • 如何让Gtk+窗口背景透明?

    我想让 Gtk 窗口的背景透明 以便只有窗口中的小部件可见 我找到了一些教程 http mikehearn wordpress com 2006 03 26 gtk windows with alpha channels https web
  • 有没有办法禁用 .NET 标签的“双击复制”功能?

    这真的很烦人 我使用标签作为列表项用户控件的一部分 用户可以单击它来选择列表项 然后双击它来重命名它 但是 如果剪贴板中有名称 双击标签会将其替换为标签文本 我还检查了应用程序中的其他标签 双击它们也会将其复制到剪贴板 我没有在这个程序中编
  • 32 位到 64 位内联汇编移植

    我有一段 C 代码 在 GNU Linux 环境下用 g 编译 它加载一个函数指针 它如何执行并不重要 使用一些内联汇编将一些参数推送到堆栈上 然后调用该函数 代码如下 unsigned long stack 1 23 33 43 save
  • x86 上未对齐的指针

    有人可以提供一个示例 将指针从一种类型转换为另一种类型由于未对齐而失败吗 在评论中这个答案 https stackoverflow com questions 544928 reading integer size bytes from a
  • 如何在 C++ BOOST 中像图形一样加载 TIFF 图像

    我想要加载一个 tiff 图像 带有带有浮点值的像素的 GEOTIFF 例如 boost C 中的图形 我是 C 的新手 我的目标是使用从源 A 到目标 B 的双向 Dijkstra 来获得更高的性能 Boost GIL load tiif
  • 防止索引超出范围错误

    我想编写对某些条件的检查 而不必使用 try catch 并且我想避免出现 Index Out of Range 错误的可能性 if array Element 0 Object Length gt 0 array Element 1 Ob

随机推荐

  • 从用户那里获取日期/时间输入的最佳方法是什么?

    这是一个多年来被一次又一次重新发明的轮子 问题 用户需要输入日期 时间 基本考虑因素 我们希望让用户尽可能轻松地输入所需的日期 时间 有些应用程序要求历史日期 有些应用程序仅要求未来日期 有些应用程序需要处理两者 我们希望防止用户输入乱码数
  • Cookie 与 jsessionid url 令牌优先级

    怎么样Set Cookie VS jsessionid url token优先 如果设置了 cookie Apache Tomcat 似乎会忽略令牌 这样的行为是不是有点不方便呢 还是因为安全原因才这样 这是 servlet 中请求的 ur
  • 还可以发布 Gmail 插件吗?

    I ve been trying to publish a Gmail add on for half a year now But I can t submit it because the required option is disa
  • Spring + Tomcat 基于Request URL的多租户

    我们有一个可供多个客户使用的单一应用程序 每次都是同一个应用程序 但使用不同的数据库 我们当前的设置包括 Apache 2 网络服务器 Tomcat 8 春季4 1 Web 服务器将特定的 URL 路由到 Tomcat 即 customer
  • PrimeFaces:如何覆盖 CSS 类

    创建按钮时 该类ui corner all始终适用 我尝试了以下方法
  • Rail 3.2.2/Devise:带有 rspec 的弃用警告

    我最近将一个应用程序升级到了 Rails 3 2 2 我正在使用 Factory girl Factory sequence name do n 名称 n 结束 Factory define 用户做 u u first name Facto
  • 詹金斯:无法连接到存储库

    我正在尝试在 github 存储库上连接 jenkins 当我指定 Repo URL 时 jenkins 返回以下错误消息 无法连接到存储库 命令 git ls remote h 电子邮件受保护 cdn cgi l email protec
  • 从 JavaScript 正确调用 TypeScript 代码

    在我们的大型企业项目中 我们面临的情况似乎在互联网上的文章和帖子中没有得到很好的描述 我们需要将支持 SPA 的现有 JavaScript 基础设施代码与其他团队在 TypeScript 上开发的代码集成起来 由于许多政治限制和可用的开发资
  • 如何在 JSON 对象中添加 URL 字符串

    我需要添加通常采用 http somewebsite com somepage asp 格式的 URL 当我使用上面的 URL 创建一个字符串并将其添加到 JSON 对象 json 时 using json put url urlstrin
  • JPanel 不会完全伸展以占据可用空间

    我有一个面板 我在其中并排放置了几个具有不同尺寸和颜色的迷你面板 它们应该占据整个父面板 水平 为此 我使用 BorderLayout 用于父面板 并使用 BoxLayout 作为放置所有迷你面板的子面板 请参见下面的代码 它在调整大小和其
  • 阻止 chrome 在拖动链接时将光标更改为地球仪

    我有一个标准链接 例如 a href test Test a 在 Chrome 中 单击并拖动此链接将导致光标变为拖动地球仪的箭头 地球仪可以放在 URL 或书签栏上 我正在尝试用 JavaScript 实现拖放文件系统界面 所有文件和文件
  • 何时使用 $sanitize 和 $sce ?他们之间有什么区别?

    我试图了解属性之间的区别 请帮忙举出实际例子 何时使用它们 在这个论坛里找不到这样的问题 请帮帮我 sce是实际选择字符串是否可以安全使用以及是否应该对其进行清理的服务 如果是 HTML 则运行 sanitize如果有的话 你可能永远不需要
  • Perl 子例程参数

    我最近一直在阅读有关 Perl 的内容 并且对 Perl 如何处理传递给子例程的参数感到有点困惑 在 Python Java 或 PHP 等语言中 函数定义采用以下形式 伪代码 function myFunc arg1 arg2 Do so
  • 使用 Python 创建新的 Access 数据库和表

    我正在尝试用 Python 创建一个 Access 数据库并向其中添加两个新表 我正在使用 win32com 并已成功创建数据库 但无法创建表 我得到的只是无益的 Windows 错误 谁能帮我 下面的代码工作正常 dbname r C U
  • 如何在运行时获取过程或函数名称?

    有没有any返回函数或过程名称的方法在运行时 我目前正在错误处理这样的事情 Sub foo Const proc name as string foo On Error GoTo ErrHandler do stuff ExitSub Ex
  • WordPress 计数小部件

    您好 我想弄清楚如何获得在给定侧边栏位置发布的小部件的数量 例如 我有一个名为 UTILITY 的侧边栏 它是一个水平侧边栏 我希望这些小部件位置的宽度根据其中发布的小部件的数量进行均匀调整 我想知道在给定页面上此侧边栏中发布了多少个小部件
  • 别名使 emacs 在新缓冲区(不是框架)中打开文件并被激活/来到前面?

    到目前为止我所拥有的是 alias em open a Applications Emacs app osascript e tell application Emacs app to activate 但我很困惑 使用该代码 em fil
  • 在 Jar 中查找实现接口的类

    我想知道 jar 内的类是否实现了特定的接口 我已经实现了下面的代码 但它会迭代 jar 文件中的所有类 并在每个类上查找它是否实现了这个特定的接口 public static synchronized boolean findClasse
  • 表单action="/"是什么意思? [复制]

    这个问题在这里已经有答案了 表单的操作通常是指提交后运行的脚本 我看到一个代码form action 我无法找到它的去向 有人请给我解释一下 它转到基本目录的索引
  • NTLM授权WCF在ASP.NET Core中不起作用

    我遇到 NTLM 授权问题 我有一个在asp net上运行没有任何问题的服务 但现在我需要在asp net core上使用这个服务 但我无法通过授权 我这样配置绑定 var binding new BasicHttpBinding Basi