zoukankan      html  css  js  c++  java
  • 在WebBrowser控件中实现自动登录并跳转到指定页面

    如果我们在Windows Forms里面使用了WebBrowser控件,与此同时我们希望用户进入某些页面的时候自动就能使用当前身份进行登录。那么该怎么办呢?下面看一个例子

    网站登录页面(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>

    窗体代码(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");

    这段代码的意思就是,请求Login.aspx,并且传递用户名和密码过去。如果登录成功的话,自然就会转到Default.aspx页面

    注意Navigate方法的最后一个参数,我们需要在Request的Header里面特别声明一下当前数据是form数据

     

    效果如下。我们一旦运行,就自动进入了Default.aspx,用户并无察觉到登录行为的

    image

  • 相关阅读:
    前端登录,这一篇就够了
    JS 之跨域问题汇总
    一篇搞定(Js异步、事件循环与消息队列、微任务与宏任务)
    在vue-cli@3.X中配置代理解决开发环境的跨域问题的同时解决cookie问题--Cookies 解决方案
    多包管理工具lerna
    js中的事件监听(冒泡和捕获)
    js事件监听/鼠标滚轮/行为/冒泡/键盘的兼容性写法
    详解clientHeight、offsetHeight、scrollHeight
    Css背景渐变
    CSS生成内容
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1661321.html
Copyright © 2011-2022 走看看