前言:

该博客产生的背景是客户那边有部署网站的方法是iis windows authentication身份验证,而系统中使用Webclient来调用别的系统的方法。在此情况下,原本可以使用的功能,都不能调用方法了,返回结果是401。在经过艰难地查找资料之后,也没有找到很好的方法来解决。找到的几个方法也不能很好的解决我的问题(实际这些方法都是有用的,但是还是不能完全解决我的问题,导致我在开始解决这个问题的时候走了好多的弯路),下面就先把这些方法说一下,思路都是要通过验证:

1,设置client.UseDefaultCredentials = true;

一般该而言都是有效的,最后我也使用了这个方法,但是我的情况还需要其它的修改。这个稍后再说。

还可以使用client.Credentials = CredentialCache.DefaultCredentials;据说2个方法是等效的。

2,设置client.Credentials = new System.Net.NetworkCredential("****", "***");分别填入该部署服务器的用户名和密码,这个方法是直接可行的,但对我而言不太现实,首先客户愿不愿意把帐号和密码写到配置你不说,而且他们也不是太懂代码,写了之后换密码,换人维护项目都不是太好的选择方案。因此当时暂时被我放弃,想着如果找不到好的解决方案的话,最后没有办法就使用这个方法。

3,此外还找了一些其它的方法,但几乎没有什么用处,就不在这里一一列举了。

在经过艰难,痛苦和绝望之后,我现在是和iss authentication设置有关,由于没有客户那边的环境,我这边的环境也是自己搭建的,找了好多最后终于找到一篇文章,按照上面说法需要把

NTLM放在第一位,具体的原理也不是太清楚。当时环境是自己搭建的,所以也不是很懂,但是在把NTLM放在第一位后,加上第一种的验证方式,终于可以用ip的方式来调用方法。

把代码发给客户以后,客户的确没有再提这个问题了,但是域名方式不知道在客户那能不能使用。自己本地因为使用hosts来模拟的是不行的,想用花生壳来模拟下,但是要注册就暂时没搞了。

C# Webclient 和 Httpclient如何通过iis authentication 身份验证。的更多相关文章

  1. C# 在iis windows authentication身份验证下,如何实现域用户自动登录

    前言: 该博文产生的背景是有个项目在客户那部署方式为iis windows身份验证,而客户不想每次登录系统都要输入帐号和密码来登录. 因此需要得到域用户,然后进行判断该用户是否可以进入系统. 解决方法 ...

  2. 【记录】ASP.NET MVC 4/5 Authentication 身份验证无效

    在 ASP.NET MVC 4/5 应用程序发布的时候,遇到一个问题,在本应用程序中进行身份验证是可以,但不能和其他"二级域名"共享,在其他应用程序身份验证,不能和本应用程序共享, ...

  3. Android 与 IIS服务器身份验证

    1)基础验证: /** * 从服务器取图片 * * @param url * @return */ public void getHttpBitmap(final String url) { new ...

  4. shiro实战系列(五)之Authentication(身份验证)

    建议学习shiro读读官方文档,虽然不一定读的懂,但是建议要大致浏览,心中有个大概,这样对于学习还是有一定帮助 官网地址:https://shiro.apache.org/ Authenticatio ...

  5. [转]IIS的各种身份验证详细测试

    本文转自:http://www.cnblogs.com/chnking/archive/2007/11/20/965553.html#_Toc183326163 一.    IIS的身份验证概述 1. ...

  6. IIS身份验证和文件操作权限(一、身份验证配置)

    最近有一个项目服务器需要升级,主要是Web项目.因为以前是只写代码,不管发布.所以在环境构筑方面就出现自己的知识盲点.盲点一:IIS的身份验证的作用盲点二:IIS的身份验证和文件操作权限的关系(重点) ...

  7. HttpRequest,WebRequest,HttpWebRequest,WebClient,HttpClient 之间的区别

    HttpRequest,WebRequest,HttpWebRequest,WebClient,HttpClient 今天我们来聊一下他们之间的关系与区别. HttpRequest 类 .NET Fr ...

  8. 发布Restful服务时出现IIS 指定了身份验证方案错误时的解决方案(IIS specified authentication schemes)

    发布RESTful服务,当访问.svc文件时出现如下错误时: IIS 指定了身份验证方案“IntegratedWindowsAuthentication, Anonymous”,但绑定仅支持一种身份验 ...

  9. webrequest、httpwebrequest、webclient、HttpClient 四个类的区别

    一.在 framework 开发环境下: webrequest.httpwebreques  都是基于Windows Api 进行包装, webclient 是基于webrequest 进行包装:(经 ...

随机推荐

  1. Mac系统安装nginx+rtmp模块

    1.安装命令 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install) ...

  2. Linux块设备IO子系统(二) _页高速缓存

    磁盘驱动就是实现磁盘空间和内存空间数据上的交互,在上一篇中我们讨论了内存端的Page Segment Block Sector相关的概念,本文以3.14内核为例,讨论这部分内存是如何被组织管理的.我们 ...

  3. 用Stax方式处理xml

    1.读取xml文件,首先用类加载器加载项目目录下的xml文件,从XMLInputFactory创建我所需要的XMLStreamReader,即得到了xml文件.根据XMLStreamConstant ...

  4. iOS开发之Copy & MutableCopy及深复制 & 浅复制

    1.使用copy或mutableCopy方法可以创建一个对象的副本. copy: (1)需要实现NSCoppying协议 (2)创建的是不可变副本(如NSString.NSArray.NSDictio ...

  5. [编织消息框架][JAVA核心技术]jdk动态代理

    需要用到的工具  jdk : javac javap class 反编译 :JD-GUI http://jd.benow.ca/ import java.lang.reflect.Invocation ...

  6. 初步认识Thymeleaf:简单表达式和标签。(二)

    本篇文章是对上篇文章中Thymeleaf标签的补充. 1.th:each:循环,<tr th:each="user,userStat:${users}">,userSt ...

  7. spring security 3.x 多页面登录配置入门教程

    最近在最shiro的多入口登录,搞了好久,就把spring security拿出来再炒一下,这是我以前在csdn写过的一篇博客. spring security 是一个权限控制的框架.可以很方便地实现 ...

  8. [.NET] 一步步打造一个简单的 MVC 电商网站 - BooksStore(四)

    一步步打造一个简单的 MVC 电商网站 - BooksStore(四) 本系列的 GitHub地址:https://github.com/liqingwen2015/Wen.BooksStore &l ...

  9. asp.net core源码飘香:Configuration组件

    简介: 这是一个基础组件,是一个统一的配置模型,配置可以来源于配置文件(json文件,xml文件,ini文件),内存对象,命令行参数,系统的环境变量又或者是你自己扩展的配置源,该组件将各个配置源的数据 ...

  10. js按值传递和按引用传递

    摘要:js的数据类型有种划分方式为 原始数据类型和 引用数据类型. 原始数据类型 存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置.栈区包括了 变量的标识符和变量的值. ...