ASP.Net 中使用实现windows登陆的方法

原创 2007年09月28日 09:45:00
public 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);
}
}
return this.authenticateUser(text2, Password.Trim(), text1);
}

private bool authenticateUser(string UserName, string Password, string Domain)
{
bool flag1 = false;
try
{
int num1;
IntPtr ptr1;
if (!WindowsAuth.LogonUser(UserName, Domain, Password, 2, 0, out num1))
{
return flag1;
}
ptr1 = new IntPtr(num1);
WindowsIdentity identity1 = new WindowsIdentity(ptr1);
WindowsPrincipal principal1 = new WindowsPrincipal(identity1);
HttpContext.Current.User = principal1;
FormsAuthentication.SetAuthCookie(principal1.Identity.Name, false);
FormsAuthentication.RedirectFromLoginPage(UserName, false);
flag1 = true;
}
catch (Exception)
{
}
return flag1;
}


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

相关文章推荐

ASP.NET使用Cookie简单实现记住登陆状态功能

页面代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15...

Asp.net集成Windows域账户登陆

- 最近领导让修改一个asp小系统,由于自己对asp.net比较熟悉而对asp很是陌生!虽然asp的源代码也有,只是修改一下实现CRUD即可,但也是很痛苦的一件事啊!于是一上午都在看代码,郁闷ing...
  • zh_bing
  • zh_bing
  • 2011年10月13日 16:53
  • 697

使用Asp.net实现的联合登陆

  • 2012年10月16日 22:34
  • 643KB
  • 下载

使用ASP.NET实现Windows Service定时执行任务

我们怎样才能在服务器上使用asp.net定时执行任务而不需要安装windows service?我们经常需要运行一些维护性的任务或者像发送提醒邮件给用户这样的定时任务。这些仅仅通过使用Windows ...

c# 实现网页上用户自动登陆|asp.net 模拟网站登录

using System; using System.Collections.Generic; using System.Text; using System.Net; using Syste...

最新 UNITY3D+ASP.NET 成功实现对数据库读取登陆 教程

1,创建一个数据库表,我们就以 test数据库为例,数据库里建一个tb_User表, tb_User里有User_Name , User_Pass 字段. 2,创建一个验证用户基本信息的asp....

Asp.net 登陆页面的Ajax异步身份验证的实现

先把js脚本写出来: function ValidForm() { if (!$('#commentForm').valid()) ...

购物网第一阶段总结笔记5:后台登陆模块(ASP.NET内置票据认证的使用)

前言:一般来说,如果会员登陆上后台以后,则用Session来保存用户资料,然后如果用户登陆其他网页的时候,在网页加载的时候通过读取用户浏览器保存的Session,来判断用户是否已经登陆。但是这样的话,...
  • zhanzkw
  • zhanzkw
  • 2011年09月22日 15:59
  • 1325

Asp.net使用异步缓存方法实现页面及时更新

写在前头:这个也不知道是哪个大虾原创的,没找到原来的出处,所以如果您看出来是您的东西,并且不方便转载,及时告知,我会立即删除的。     通常的WEB开发中,有时我们会碰以这种情况,一个页面有很多模块...

Windows系统服务器IIS7.5 Asp.net支持10万请求的设置方法

问题现象 ECS Windows系统服务器基于IIS搭建的网站由于IIS默认的配置,服务器最多只能处理5000个同时请求,访问量大时很容易导致报错: Error Summary: HTTP Error...
  • yzyssg1
  • yzyssg1
  • 2017年06月12日 17:51
  • 139
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.Net 中使用实现windows登陆的方法
举报原因:
原因补充:

(最多只允许输入30个字)