在WebBrowser控件中实现自动登录并跳转到指定页面
2010-02-01 21:18
751 查看
如果我们在Windows Forms里面使用了WebBrowser控件,与此同时我们希望用户进入某些页面的时候自动就能使用当前身份进行登录。那么该怎么办呢?下面看一个例子
网站登录页面(Login.aspx)
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
窗体代码(Form1.cs)
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
这段代码的意思就是,请求Login.aspx,并且传递用户名和密码过去。如果登录成功的话,自然就会转到Default.aspx页面
注意Navigate方法的最后一个参数,我们需要在Request的Header里面特别声明一下当前数据是form数据
效果如下。我们一旦运行,就自动进入了Default.aspx,用户并无察觉到登录行为的
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
网站登录页面(Login.aspx)
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.Security; namespace WebApplication1 { public partial class Login : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { var username = Request["username"]; var password = Request["password"]; if (username == "chenxizhang" && password == "password") FormsAuthentication.RedirectFromLoginPage(username, false); } protected void btLogin_Click(object sender, EventArgs e) { var username = txtUserName.Text; var password = txtPassword.Text; if (username=="chenxizhang" && password=="password") FormsAuthentication.RedirectFromLoginPage(username, false); } } }
网站配置(web.config)
<authentication mode="Forms"> <forms loginUrl="Login.aspx" defaultUrl="default.aspx"></forms> </authentication> <authorization> <deny users="?"/> </authorization>
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
窗体代码(Form1.cs)
var url = "http://localhost:6063/Login.aspx?ReturnUrl=%2fDefault.aspx"; var data = "username=chenxizhang&password=password"; webBrowser1.Navigate(url, "", Encoding.UTF8.GetBytes(data), "Content-Type: application/x-www-form-urlencoded");
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
这段代码的意思就是,请求Login.aspx,并且传递用户名和密码过去。如果登录成功的话,自然就会转到Default.aspx页面
注意Navigate方法的最后一个参数,我们需要在Request的Header里面特别声明一下当前数据是form数据
效果如下。我们一旦运行,就自动进入了Default.aspx,用户并无察觉到登录行为的
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
相关文章推荐
- 在WebBrowser控件中实现自动登录并跳转到指定页面
- webBrowser实现自动填写登录并在跳转页面实现签到
- vue-router实现登录和跳转到指定页面,vue-router 传参
- J2EE实现登录后自动跳转到登录前访问的页面
- VS2005中使用webBrowser控件实现自动登录Gmail邮件的实例
- s实现指定时间自动跳转到某个页面
- vb里面 如何实现 webbrowser控件打开的页面的自动保存呢
- vue-router登录校验后跳转到之前指定页面如何实现
- webBrowser控件实现自动登录Gmail邮件的实例
- VS2005中使用webBrowser控件实现自动登录Gmail邮件的实例
- Asp.net实现网站提示信息页面后的定时自动跳转到指定页面
- 物流管理系统(七)4实现用户未登录自动跳转到登录页面
- 在jsp中怎么实现登录后自动跳转到登陆前浏览页面
- ecmall前台登陆注册后实现自动跳转到指定页面
- VS2005中使用webBrowser控件实现自动登录Gmail邮件的实例
- js实现几秒钟后页面自动跳转到指定页
- 在ASP.NET登录页面中如何实现文本框焦点自动跳转及通过回车键提交表单
- struts2实现登录后跳转回本页面
- 如何实现ASPX页面等待5秒,自动跳转到另一个页面INDEX。ASPX
- ssm中登录功能的实现以及页面跳转