分类目录

链接

友情链接

统计信息

  • 日志总数:114篇
  • 评论总数:185条
  • 分类总数:11个
  • 标签总数:391个
  • 友情链接:0个
  • 网站运行:3177天

2019年八月
« 3月    
 1234
567891011
12131415161718
19202122232425
262728293031  
>
现在位置:    首页 > c# > 正文

c# 调用windows系统内部的身份验证方法

c# 暂无评论

1,很多程序 就有windows身份认证这功能,也就是说用系统的帐号密码进行身份验证。如果大家用过 mssql 的都很清楚了,里面就有一项身份认证方式为 windows身份认证。哪么这是怎么实现 的呢?是否要得到系统的帐号和密码呢?

答案 是NO 

我们只要调用 windows提供的接口进行一次登录,根据系统返回的信息,就能确定用户的登录信息是否正确了、。。、

工具:advapi32.dll 中的  LogonUser 方法

完整代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

 

namespace windowLocker
{
    public partial class Form1 : Form
    {

        [DllImport("advapi32.dll", CharSet = CharSet.Auto)]
        public static extern bool LogonUser(string lpszUsername, string lpszDomain, string lpszPassword, int dwLogonType, int dwLogonProvider, out int phToken);

        public string tDomain = "";



        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

            tDomain = System.Environment.UserDomainName;
            Console.WriteLine("tDomain = " + tDomain);
            //System.Environment.UserName 


        }

        private void 登录_Click(object sender, EventArgs e)
        {
            int num1; IntPtr ptr1; 


            //调用Windows登录的API  
            if (!LogonUser(username.Text, tDomain, password.Text, 2, 0, out num1))
            {   //返回登录结果  
                Console.WriteLine("login failed");

            }
            else {
                Console.WriteLine("login sucessful");


            }
        }



    }
}

效果图如下:

QQ截图20171018214102.jpg

可以看出  已实现了 使用windows 身份认证来  确认我们的身份了  所以内容就到这里  谢谢阅读

本文版权归企业网站建设,做网站,网站建设,php网站建设,dedecms建站,ecshop二次开发,html空间,网站修改所有,转载引用请完整注明以下信息:
本文作者:admin
本文地址:c# 调用windows系统内部的身份验证方法 | 企业网站建设,做网站,网站建设,php网站建设,dedecms建站,ecshop二次开发,html空间,网站修改

抱歉!评论已关闭.