用winform应用程序登录网站的解决方案

用winform应用程序登录网站的解决方案

背景:
网站使用Membership机制来验证用户

要求:
c/s应用程序要用网站上的用户名和密码登录,同时在c/s端登录后,浏览网站时就无需再重复登录

思路:
1。.net网站对用户是否登录的判断依据是:检查浏览器客户端是否存在有效的cookie验证票据,如果在c/s winform中登录的同时,能让用户浏览器生成验证票据,则实现在winform中登录后,浏览网站时无需再重复登录的问题得已解决

具体操作:可在网站上建一个专用页面,功能为验证用户信息合法后,发放验证票据,然后在winform中登录成功后,模拟访问一下这个页面即可(注:经实践,不能用webRequest或webClient来实现,webRequest或webClient虽然可以达到用程序访问该页的效果,但并不能正确设置浏览器的cookie,正确的解决办法是在winform中放置一个webBrowser,让webBrowser来访问该页,这样就跟用户真正用浏览器浏览网页得到的效果才是一样的)

2。再来看第二个问题,如何在winform中使用网站的MemberShip数据库,这里提供二种基本的解决方案:
(a)在winform中引用System.Web,这样的话,就可以直接使用Membership类了,但不建议这样做,原因是:如果在网站的web.config中修改了membershipProvider的相关信息,比如applicationName后,winform中的设置也必须完全相同,否则的话,winform与webform对应的基本不是同一个application,出问题就不奇怪了
(b)利用webSerivce,在网站上建一个webService,功能为接受username和password进行验证,通过返回true,不通过返回false,在winform应用程序中,直接调用这个webservice即可

时间: 2024-10-28 21:32:48

用winform应用程序登录网站的解决方案的相关文章

C#程序 输入帐号 新窗口登录网站后台

问题描述 我的程序窗体Form1有两个TextBox分别用来输入帐号和密码,Form2有WebBrowser.然后点击登录按钮后,如果密码正确则显示Form2,并登录网站后台.如果帐号和密码错误则返回信息到Form1的label.后台地址http://210.34.120.92/academic/common/security/login.jsp 解决方案 解决方案二:http://www.blue1000.com/bkhtml/c17/2010-12/70292.htmhttp://bbs.c

通过Winform模拟post请求和get请求登录网站

引言 最近有朋友问如何用winform模拟post请求,然后登录网站,稍微想了一下,大致就是对http报文的相关信息的封装,然后请求网站登录地址的样子.发现自己的博客中对这部分只是也没总结,就借着这股风,总结一下http报文的相关知识吧. HTTP定义 超文本传输协议 (HTTP-Hypertext transfer protocol) 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议. 这里对http的具体内容就不再介绍了,主要分析http报文信息

java-请问如何用AsyncClient写一个能访问并登录网站的程序?

问题描述 请问如何用AsyncClient写一个能访问并登录网站的程序? 请问如何用AsyncClient写一个能访问并登录网站的程序?不是android-async-http AsyncHttpClient. 能够根据地址,还有用户名和密码就能登录网站.初学网络程序设计,所以希望代码简洁些.请大家帮帮忙,谢谢.

解决方案-winform窗体程序怎么设置QQ的定时重启

问题描述 winform窗体程序怎么设置QQ的定时重启 使用winfrom窗体程序,怎么定时启动QQ应用程序,谢谢 有解决方案的可以帮帮忙吗 在这里谢谢了 下面是我个人邮箱254243717@qq.com 解决方案 只要启动QQ吗?用一个winform程序加个timer定时器就是了,找到qq.exe所在的路径,然后process.start启动. 解决方案二: 可以调用Win32 API CreateProcess/ShellExecuteEx() 解决方案三: 先获取进程列表,然后根据进程名判

用C#写个WinForm应用程序,如何能实现到www.docin.com的文件批量上传

问题描述 用C#写个WinForm应用程序,如何能实现到www.docin.com的文件批量上传,请各位发表下看法,或者有什么好的思路 解决方案 解决方案二:用webClient循环上传~解决方案三:能具体点吗?谢谢!!!解决方案四:我要把文件上传到他们的网站上啊.如果是只在他们网站上传的话一次只能一篇.我想批量传一下.我用C#写WinForm程序,1.第一个窗体里用一个WebBrowser控件来转到www.docin.com的网址,然后通过这个网址登陆.2.登陆过后点击一个自己设置的批量上传按

winform 应用程序中加入web service(即web 服务)的方法?

问题描述 C/S结构中WinForm应用程序能调用WebService,比如网站中提供的Web服务,能否反过来:WinForm程序中包含Web服务,让Web网站系统能够调用这些WinForm的Web服务?优点:网站就可以向app或winform程序推送即时消息了.能否? 解决方案 解决方案二:WebService好象既不是BS也不是CS.他只是BS与CS中的S(Server端)WS无非是请求数据.这些数据一般BS与CS的数据都是放同一个地方.解决方案三:你这不就是自己写一个iis然后提供webs

求助~~有关自动登录网站的问题

问题描述 帮童鞋做的一个自动登录网站的程序,但是不成功,求帮忙分析下这个网页.usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingmshtml;namespaceweb{publicpartialclass

网络抓包,怎么用Java程序登录百度?

问题描述 听说只要这几个步骤就可以实现了,但是我现在都不知道怎么获取cookie:1.访问http://www.baidu.com/并保存cookie2.使用上面保存的cookie访问https://passport.baidu.com/v2/api/?getapi&tpl=mn&apiver=v3&tt=1395058791532&class=login&logintype=dialogLogin&callback=bd__cbs__w6qu6获取toke

请问用.net开发网站,第一次登录网站的超级用户的用户名和登录密码怎么设置?

问题描述 关于.net网站开发的小问题 解决方案 解决方案二:给个默认的就好,例如有的数据库就是sa/sa,然后用户第一次登陆时强制他修改密码就好.解决方案三:引用楼主xyy18772381537的回复: 关于.net网站开发的小问题 这些都放在数据库中,可以在建库的时候写入解决方案四:用户名,密码,是否超级,需要将这些信息先写入数据库,登录时读取解决方案五:撸主的意思是:用户管理模糊还木有开发好,怎么产生登录用户?还是其他深意?解决方案六:引用4楼lovelj2012的回复: 撸主的意思是:用