关于C#.net winform程序验证moss的集成身份认证实例_C#教程

最近开发vsto程序需要上传文档到moss平台,因为网站使用的是windows集成认证,所以遇到了权限问题,需要输入密码。使操作和用户体验非常不方便,研究了好久没有找到好的方法,最后终于让我踏破铁鞋总结出了下面的方法,原理我个人的理解应该是模拟IE发送验证的消息进行验证,可以通过实现登录的问题。

注:需要添加名称为Microsoft XML,V2.6以上版本的COM引用

复制代码 代码如下:

 private void button3_Click(object sender, EventArgs e)
        {

            this.textBox1.Text=@"http://localhost/Default.aspx";       //认证的网址或路径
            this.textBox2.Text="spsservice";                             //账户名
            this.textBox3.Text = "Zd$1234";                              //密码

            MSXML2.XMLHTTP http = new MSXML2.XMLHTTP();

            http.open("post", this.textBox1.Text, false, this.textBox2.Text, this.textBox3.Text);
            http.send("");
            switch (http.status)
            {
                case 200:
                    {
                        MessageBox.Show("登录成功!");
                        break;
                    }
                case 401:
                    {
                        MessageBox.Show("用户名和密码错误");
                        break;
                    }
                default:
                    {
                        MessageBox.Show("连接失败,请重试");
                        break;
                    }

时间: 2024-08-19 15:26:32

关于C#.net winform程序验证moss的集成身份认证实例_C#教程的相关文章

通过Windows集成身份认证登录SQL Server失败

问题 在之前的技巧中,您讨论了由于在Active Directory中存在大量的组,需要超越MaxTokenSize来容纳 更大的Kerberos tokens.与此同时,我们也注意到MaxTokenSize需要做出相应调整,这是由于使用 Windows 集成身份认证(Windows Integrated Authentication)的web应用程序也出现了启动失败的问题 ,其中包括SQL Server Reporting Services.我就职的公司做出了必要的改动并重新启动了SQL和We

在WinForm中发送HTTP请求的实现方法_C#教程

如何在WinForm中请求发送HTTP 手工发送HTTP请求主要是调用 System.Net的HttpWebResponse方法 手工发送HTTP的GET请求: string strURL = "http://localhost/Play/CH1/Service1.asmx/doSearch?keyword="; strURL +=this.textBox1.Text; System.Net.HttpWebRequest request; // 创建一个HTTP请求 request =

.Net Winform开发笔记(四)透过现象看本质_C#教程

写在前面: 从一个窗体的创建显示,再到与用户的交互,最后窗体关闭,这中间经历过了一系列复杂的过程,本文将从Winform应用程序中的Program.cs文件的第一行代码开始,逐步分析一个Winform应用程序到底是怎样从出生走向死亡,这其中包括Form.Show()和Form.ShowDialog()的区别.模式对话框形成的本质原因.消息循环.Windows事件与.net中事件(Event)的区别.System.Windows.Form.Application类的作用.以及我之前一篇博客中(.N

WinForm单例窗体用法实例_C#教程

本文实例讲述了WinForm单例窗体.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; using System.Windows.Forms; using System.Text; namespace Common { /// <summary> /// 窗体的单例模式 /// </summary> /// <typeparam name="T"></typepar

winform分页控件 附源码下载_C#教程

以前都是从事B/S开发,由于公司有个比较大的C/S项目,在使用DATAGRIDVIEW的时候,显示数据量比较大,所以才用分页模式,也不知道这样是否正确.  想找个C/S下面的分页控件,都没有什么好的,就自己跟B/S下的分页控件,修改成WINFORM下面的.  首先创建一个用户控件名称为pager,在控件中拖入bindingNavigator和bindingSource,修改bindingNavigator,加入必要的一些控件.  效果如下: 代码实现如下: namespace WindowsAp

winform树形菜单无限级分类实例_C#教程

以下实现的是一个树形菜单,每一级对应一类窗口,点击叶子节点时弹出新的窗口: 用递归和委托实现的. 第一部分功能-创建树形菜单 复制代码 代码如下: /// <summary>         /// 创建树形菜单         /// </summary>         public void AddTree(int ParentID, TreeNode pNode)         {             // 数据库名字字段             string str

WinForm窗体调用WCF服务窗体卡死问题_C#教程

窗体启动会启动一个程序主线程,如果在From_Load()方法中调用服务,调用服务操作会阻塞主程序. 只需要将调用服务的操作放到其他线程中处理就可以解决这个问题. 比如: 复制代码 代码如下: Thread ServiceThread=null; public void TestForm_Load(object sender, EventArgs e) { CheckForIllegalCrossThreadCalls = false; ServiceThread = new Thread(ne

C# Winform 禁止用户调整ListView的列宽_C#教程

复制代码 代码如下: // 事件: 改变列宽的时候 private void ColumnWidthChange(object sender, ColumnWidthChangingEventArgs e) { // 如果调整的不是第一列,就不管了 if (e.ColumnIndex > 0) return; // 取消掉正在调整的事件 e.Cancel = true; // 把新宽度恢复到之前的宽度 e.NewWidth = this.lvStudents.Columns[e.ColumnIn

循序渐进开发WinForm项目(4)--Winform界面模块的集成使用

随笔背景:在很多时候,很多入门不久的朋友都会问我:我是从其他语言转到C#开发的,有没有一些基础性的资料给我们学习学习呢,你的框架感觉一下太大了,希望有个循序渐进的教程或者视频来学习就好了. 其实也许我们每天面对的太多东西了,觉得很多都稀松平常了,即使很细微的地方,可能我们都已经形成习惯了.反过来,如果我们切换到其他领域,如IOS.android,那么开始我们可能对里面很多设计的规则不甚了解,开始可能也是一头雾水. 本篇继续上一篇<循序渐进开发WinForm项目(3)--Winform界面层的项目