Rumah pembangunan bahagian belakang Tutorial C#.Net Windows登录功能使用C#实现的示例

Windows登录功能使用C#实现的示例

Aug 07, 2017 pm 01:09 PM
.net windows

这篇文章主要介绍了C#实现的WINDOWS登录功能,结合实例形式分析了简单的Windows图形化登陆功能实现技巧,需要的朋友可以参考下

本文实例讲述了C#实现的WINDOWS登录功能。分享给大家供大家参考,具体如下:


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Runtime.InteropServices;
using System.Security.Principal;
namespace yutest
{
  public partial class _Default : System.Web.UI.Page
  {
    [DllImport("advapi32.dll", CharSet = CharSet.Auto)]
    public static extern bool LogonUser(string lpszUsername,string lpszDomain,string lpszPassword,int dwLogonType,int dwLogonProvider,out int phToken);
    protected void Page_Load(object sender, EventArgs e)
    {
      string aaa = System.Threading.Thread.CurrentPrincipal.Identity.Name;
      //string bbb = System.Threading.Thread.CurrentPrincipal.Identity.n;
      //System.Environment.UserDomainName
      //System.Environment.UserName
    }
    protected void Button1_Click(object sender, System.EventArgs e)
    {
      //验证用户的输入是否为空
      if (tDomain.Text.Trim().Length > 0 && tUserName.Text.Trim().Length > 0&& tPassword.Text.Trim().Length > 0)
      {  //调用函数Login(string UserName, string Password, string Domain)
        //实现Windows登录
        if (Login(tUserName.Text.Trim(), tPassword.Text.Trim(),tDomain.Text.Trim()) == true)
        {  //显示登录成功信息
          LoginMsg.Text = "登录成功!!!";
          LoginMsg.Visible = true;
          return;
        }
        else
        {  //显示登录失败信息
          LoginMsg.Text = "登录失败,请重新输入用户名称、密码及其系统域名!!!";
          LoginMsg.Visible = true;
        }
      }
    }
    private bool Login(string UserName, string Password, string Domain)
    {    //获取用户名称和系统域名
      string text1 = Domain.Trim();
      string text2 = UserName.Trim();
      text2 = text2.Replace("/", @"\");   //处理符号“/”
      int num1 = text2.IndexOf('\\');    //获取符号“\”的索引
      if (num1 != -1)
      {  //格式化用户名称和系统域名
        text1 = text2.Substring(0, num1);
        text2 = text2.Substring(num1 + 1);
      }
      else
      {  //格式化用户名称和系统域名
        num1 = text2.IndexOf('@');
        if (num1 != -1)
        {
          text1 = text2.Substring(num1 + 1);
          text2 = text2.Substring(0, num1);
        }
      }
      //调用函数AuthenticateUser()实现用户Windows登录
      return AuthenticateUser(text2, Password.Trim(), text1);
    }
    private bool AuthenticateUser(string UserName, string Password,string Domain)
    {       //设置用户登录成功的标志
      bool flag1 = false;
      try
      {
        int num1; IntPtr ptr1;
        //调用Windows登录的API
        if (!LogonUser(UserName, Domain, Password, 2, 0, out num1))
        {  //返回登录结果
          return flag1;
        }
        //调用.NET中的Windows登录
        ptr1 = new IntPtr(num1);
        WindowsIdentity identity1 = new WindowsIdentity(ptr1);
        WindowsPrincipal principal1 = new WindowsPrincipal(identity1);
        HttpContext.Current.User = principal1;
        //设置系统Cookie和重定向页面
        FormsAuthentication.SetAuthCookie(principal1.Identity.Name, false);
        FormsAuthentication.RedirectFromLoginPage(UserName, false);
        flag1 = true;
      }
      catch (Exception) { }
      return flag1;
    }
  }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Windows登录功能使用C#实现的示例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bolehkah saya memasang mysql pada windows 7 Bolehkah saya memasang mysql pada windows 7 Apr 08, 2025 pm 03:21 PM

Ya, MySQL boleh dipasang pada Windows 7, dan walaupun Microsoft telah berhenti menyokong Windows 7, MySQL masih serasi dengannya. Walau bagaimanapun, perkara berikut harus diperhatikan semasa proses pemasangan: Muat turun pemasang MySQL untuk Windows. Pilih versi MySQL yang sesuai (komuniti atau perusahaan). Pilih direktori pemasangan yang sesuai dan set aksara semasa proses pemasangan. Tetapkan kata laluan pengguna root dan simpan dengan betul. Sambung ke pangkalan data untuk ujian. Perhatikan isu keserasian dan keselamatan pada Windows 7, dan disyorkan untuk menaik taraf ke sistem operasi yang disokong.

Cara menarik garis rujukan menegak PS Cara menarik garis rujukan menegak PS Apr 06, 2025 pm 08:18 PM

Tarik panduan menegak di Photoshop: Membolehkan pandangan penguasa (Lihat & gt; penguasa). Tuding tetikus di atas pinggir menegak penguasa, dan kemudian kursor menjadi garis menegak dengan anak panah berganda dan tahan dan seret tetikus untuk mengeluarkan garisan rujukan. Klik Padam dengan menyeret panduan, atau melayang ke salib.

Penyelesaian kepada kesilapan yang dilaporkan oleh MySQL pada versi sistem tertentu Penyelesaian kepada kesilapan yang dilaporkan oleh MySQL pada versi sistem tertentu Apr 08, 2025 am 11:54 AM

Penyelesaian kepada ralat pemasangan MySQL adalah: 1. Berhati -hati memeriksa persekitaran sistem untuk memastikan keperluan perpustakaan ketergantungan MySQL dipenuhi. Sistem operasi dan keperluan versi yang berbeza adalah berbeza; 2. Berhati -hati membaca mesej ralat dan mengambil langkah -langkah yang sepadan mengikut arahan (seperti fail perpustakaan yang hilang atau kebenaran yang tidak mencukupi), seperti memasang kebergantungan atau menggunakan arahan sudo; 3 Jika perlu, cuba pasang kod sumber dan periksa dengan teliti log kompilasi, tetapi ini memerlukan pengetahuan dan pengalaman Linux tertentu. Kunci untuk menyelesaikan masalah akhirnya adalah dengan teliti memeriksa persekitaran sistem dan maklumat ralat, dan merujuk kepada dokumen rasmi.

Cara menyelesaikan MySQL tidak dapat menyambung ke tuan rumah tempatan Cara menyelesaikan MySQL tidak dapat menyambung ke tuan rumah tempatan Apr 08, 2025 pm 02:24 PM

Sambungan MySQL mungkin disebabkan oleh sebab -sebab berikut: Perkhidmatan MySQL tidak dimulakan, firewall memintas sambungan, nombor port tidak betul, nama pengguna atau kata laluan tidak betul, alamat pendengaran di my.cnf dikonfigurasi dengan tidak wajar, dan lain -lain. Langkah -langkah penyelesaian masalah termasuk: 1. 2. Laraskan tetapan firewall untuk membolehkan MySQL mendengar port 3306; 3. Sahkan bahawa nombor port adalah konsisten dengan nombor port sebenar; 4. Periksa sama ada nama pengguna dan kata laluan betul; 5. Pastikan tetapan alamat mengikat di my.cnf betul.

Tidak dapat mengakses MySQL dari terminal Tidak dapat mengakses MySQL dari terminal Apr 08, 2025 pm 04:57 PM

Tidak dapat mengakses MySQL dari terminal mungkin disebabkan oleh: perkhidmatan MySQL tidak berjalan; ralat perintah sambungan; kebenaran yang tidak mencukupi; sambungan blok firewall; Ralat fail konfigurasi MySQL.

Mysql tidak dapat dipasang setelah memuat turun Mysql tidak dapat dipasang setelah memuat turun Apr 08, 2025 am 11:24 AM

Sebab utama kegagalan pemasangan MySQL adalah: 1. Isu kebenaran, anda perlu menjalankan sebagai pentadbir atau menggunakan perintah sudo; 2. Ketergantungan hilang, dan anda perlu memasang pakej pembangunan yang relevan; 3. Konflik pelabuhan, anda perlu menutup program yang menduduki port 3306 atau mengubah suai fail konfigurasi; 4. Pakej pemasangan adalah korup, anda perlu memuat turun dan mengesahkan integriti; 5. Pembolehubah persekitaran dikonfigurasikan dengan salah, dan pembolehubah persekitaran mesti dikonfigurasi dengan betul mengikut sistem operasi. Selesaikan masalah ini dan periksa dengan teliti setiap langkah untuk berjaya memasang MySQL.

Mysql muat turun meminta cakera tulis ralat bagaimana menangani Mysql muat turun meminta cakera tulis ralat bagaimana menangani Apr 08, 2025 am 11:51 AM

Muat turun mysql meminta ralat menulis cakera. Penyelesaiannya adalah seperti berikut: 1. Periksa sama ada ruang cakera tidak mencukupi, membersihkan ruang atau menggantikan cakera yang lebih besar; 2. Gunakan alat pengesanan cakera (seperti CHKDSK atau FSCK) untuk memeriksa dan memperbaiki kesilapan cakera, dan menggantikan cakera keras jika perlu; 3. Semak keizinan direktori sasaran untuk memastikan bahawa akaun pengguna mempunyai kebenaran menulis; 4. Tukar alat muat turun atau persekitaran rangkaian, dan gunakan pengurus muat turun untuk memulihkan muat turun yang terganggu; 5. Tutup sementara perisian anti-virus atau firewall, dan dapatkan semula selepas muat turun selesai. Dengan menyelesaikan masalah secara sistematik, masalah ini dapat diselesaikan.

Penyelesaian kepada perkhidmatan yang tidak dapat dimulakan selepas pemasangan MySQL Penyelesaian kepada perkhidmatan yang tidak dapat dimulakan selepas pemasangan MySQL Apr 08, 2025 am 11:18 AM

MySQL enggan memulakan? Jangan panik, mari kita periksa! Ramai kawan mendapati bahawa perkhidmatan itu tidak dapat dimulakan selepas memasang MySQL, dan mereka sangat cemas! Jangan risau, artikel ini akan membawa anda untuk menangani dengan tenang dan mengetahui dalang di belakangnya! Selepas membacanya, anda bukan sahaja dapat menyelesaikan masalah ini, tetapi juga meningkatkan pemahaman anda tentang perkhidmatan MySQL dan idea anda untuk masalah penyelesaian masalah, dan menjadi pentadbir pangkalan data yang lebih kuat! Perkhidmatan MySQL gagal bermula, dan terdapat banyak sebab, mulai dari kesilapan konfigurasi mudah kepada masalah sistem yang kompleks. Mari kita mulakan dengan aspek yang paling biasa. Pengetahuan asas: Penerangan ringkas mengenai proses permulaan perkhidmatan MySQL Startup. Ringkasnya, sistem operasi memuatkan fail yang berkaitan dengan MySQL dan kemudian memulakan daemon MySQL. Ini melibatkan konfigurasi

See all articles