`
wyf
  • 浏览: 435697 次
  • 性别: Icon_minigender_1
  • 来自: 唐山
社区版块
存档分类
最新评论

使用AD帐号登录,利用Form形式

阅读更多

转自:http://weblogs.3322.org/   
做的一个程序中要求ASP.net 程序可以使用已经存在的域用户来登录(而且为了与其它程序界面一致一定要使用 Forms 登录),查找了一些相关的资料发现还是可以实现的。

   主要还是依靠 advapi32.dll 中的 LogonUser API 函数。 

using System.Web.Security;
using System.Runtime.InteropServices;

[DllImport("advapi32.dll", CharSet=CharSet.Auto)]
public static extern int LogonUser(String lpszUserName,
String lpszDomain,
String lpszPassword,
int dwLogonType,
int dwLogonProvider,
ref IntPtr phToken);

public const int LOGON32_LOGON_INTERACTIVE = 2;
public const int LOGON32_PROVIDER_DEFAULT = 0;

void Login_Click(Object sender, EventArgs E)
{
IntPtr token = IntPtr.Zero;

if(LogonUser(UserName.Value,
UserDomain.Value,
UserPass.Value,
LOGON32_LOGON_INTERACTIVE,
LOGON32_PROVIDER_DEFAULT,
ref token) != 0)
{
FormsAuthentication.RedirectFromLoginPage(UserName.Value,
PersistCookie.Checked);
}
else
{
lblResults.Text = "Invalid Credentials: Please try again";
}
}

 

其它方面的使用与普通的forms 程序没有太大的区别,也许还有更好的方法。

分享到:
评论

相关推荐

    FORM 验证AD 并实现SSO

    总结来说,"FORM 验证AD 并实现SSO"涉及了使用Active Directory进行用户身份验证,通过FORM Authentication处理Web应用登录,以及利用MachineKey实现跨应用的单点登录。这些技术共同构建了一个安全、便捷的用户身份...

    Ad登录,域账号登录

    本文将深入探讨.NET环境下如何使用域账号实现登录开发系统的相关知识点。 首先,理解.NET Framework与AD的交互机制至关重要。.NET提供了System.DirectoryServices命名空间,其中包括许多类,如DirectoryEntry、...

    VB.NET使用AD域用户名和密码登录

    在VB.NET Web开发中,使用Active Directory(AD)域进行用户身份验证是常见的做法,尤其在企业级应用中。这允许公司通过中央服务器管理用户账户和权限,而不是在每个应用程序中单独存储和验证用户信息。以下是对这个...

    LDAP实现AD域账号验证 - Java/SpringBoot

    下面我们将深入探讨如何使用Java和SpringBoot实现基于LDAP的AD域账号验证。 首先,我们需要了解LDAP的基本结构。LDAP目录通常采用树形结构,其中包含多个条目(entries),每个条目都有唯一的DN(Distinguished ...

    AD域-限制windows域用户多点并发登录.docx

    AD域-限制windows域用户多点并发登录是指在Active Directory域中限制用户多点并发登录,以防止用户账号被盗用和不安全登录。通过创建GPO和脚本,可以实现用户登录限制,提高域安全性。 描述解释 限制Windows域用户...

    MOSS 2007 AD认证进行表单登录的方法

    在实际应用中,很多企业可能会面临这样的需求:既要利用 AD 中已有的用户信息进行身份验证,又要提供更加友好的登录体验。本文将详细介绍如何在 MOSS 2007 中通过 AD 认证实现表单登录的方法,以解决默认 AD 认证时...

    java连接AD进行用户登陆

    在企业环境中,Active Directory (AD) 是一种广泛使用的目录服务,它可以帮助管理组织内的用户、设备和其他资源。对于需要集成 AD 的 Java 应用程序而言,能够通过 Java 语言与 AD 进行交互是非常重要的能力之一。...

    java验证AD域用户登录

    Java验证AD域用户登录是企业级应用中常见的一种身份验证方式,主要用于确保只有授权的用户才能访问特定的系统或服务。AD(Active Directory)域是由微软Windows Server操作系统提供的目录服务,用于集中管理用户账户...

    C# AD 域验证

    标签中的"c#连接AD"指的是上述的连接过程,而"c# AD L连接域"可能是指Ldap(轻量级目录访问协议),虽然AD通常使用Kerberos进行身份验证,但有时也可以通过LDAP接口进行通信。 总的来说,C# AD域验证是Windows环境...

    ad9361zhil.zip_AD9361配置_ad9361_ad9361使用方法_ad9361参数设置

    2. 数据传输:利用JESD204B接口,将基带信号实时传输至AD9361,完成调制和解调过程。 3. 监控和控制:实时监控AD9361的状态,如温度、电源电压等,并进行必要的错误检测和故障恢复。 四、AD9361参数设置 1. 工作...

    AD域单点登陆NTLM

    下面我们将详细探讨如何在Java环境中利用NTLM协议集成AD域进行登录,并了解相关文件的作用。 首先,让我们理解NTLM协议。NTLM是基于挑战-响应机制的身份验证协议,它不依赖于开放的密钥基础设施,而是依靠服务器和...

    不设置用户名密码成功登录AD

    使用AD登录时,参数可不用设置用户名、密码。

    验证AD域账号登陆,获取AD域用户列表,获取用户邮箱

    验证AD域账号登陆,获取AD域用户列表,获取用户邮箱,修改密码等AD域操作

    AD域批量导入导出账号

    总的来说,批量导入导出AD账号是AD管理的重要环节,正确理解和使用CSVDE等工具能够显著提高工作效率。在执行此类任务时,务必注意数据的准确性、安全性和合规性,以确保企业网络环境的稳定和安全。

    详解C#使用AD(Active Directory)验证内网用户名密码

    3.统一身份验证:Active Directory 可以统一管理网络中的所有用户身份验证,实现了单点登录和单点注销。 三、如何使用 C# 语言对 Active Directory 进行验证? 1.连接 Active Directory:使用 C# 语言可以连接到 ...

    rhel6使用AD用户登录设置

    RHEL6使用AD用户登录设置涉及多个核心组件和协议,包括LDAP、Kerberos、Samba、Active Directory Domain Services (ADDS)、身份管理(IdM)等。这些技术共同协作,实现Linux系统用户身份与Windows Active Directory...

    win7用户登录AD

    "Win7用户登录AD的配置和实现" Win7用户登录AD是指在Windows 7系统下实现自动登录域用户的功能。在早期的Windows XP系统中,这个功能是默认启用的,但是到了Windows 7系统中,这个功能需要手动设置。 那么,为什么...

    AD账号解锁工具

    2. **解锁账号**:当发现账号被锁定时,管理员可以直接通过工具进行解锁操作,无需登录到域控制器或者使用命令行工具如“net user”或“ldifde”。 3. **服务器信息**:该工具还提供了查看服务器状态的功能,包括域...

    JAVA使用Ldap操作AD域的方法示例

    - **389端口登录**:代码示例中的`adLogin`方法展示了如何使用非加密连接登录AD域。它创建一个`Hashtable`对象填充必要的环境变量,如`SECURITY_PRINCIPAL`(用户主体名)、`SECURITY_CREDENTIALS`(密码)、`...

Global site tag (gtag.js) - Google Analytics