AD 域账号登录

域服务数据读写,有俩种模式

1、轻量级的数据读取

_domain是服务器的域名
获取连接PrincipalContext pc = new PrincipalContext(ContextType.Domain, _domain)
验证账号密码pc.ValidateCredentials(jobNumber, password)引用System.DirectoryServices.AccountManagement命名空间后,按照如下如下方法,AD域验证
    using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, _domain))
    {
        // 工号一定要全
        using (var userPrincipal = UserPrincipal.FindByIdentity(pc, IdentityType.SamAccountName,loginModel.JobNumber))
        {
            if (userPrincipal == null)
            {
                return "账号不正确,请重新输入";
            }
            if (!pc.ValidateCredentials(loginModel.JobNumber, loginModel.Password))
            {
                return @"密码输入错误,请重新输入";
            }
            //GivenName是用户名称,Surname是工号(无前缀),Name是用户名称+工号(无前缀)
            PersonDetailInfo personDetailInfo = new PersonDetailInfo()
            {
                SearchName = userPrincipal.Name,
                UserName = userPrincipal.GivenName,
                JobNumber = userPrincipal.SamAccountName,
                EmailAddress = userPrincipal.EmailAddress
            };
            return personDetailInfo;
        }
    }

2、DectoryEntry

可以获取整个服务器的数据,也可以修改其中的信息

参考类似文章:

http://www.it165.net/pro/html/201308/6829.html

时间: 2024-07-28 19:45:42

AD 域账号登录的相关文章

Ubuntu通过LDAP集成AD域账号登录(libnss-ldap方式)

Ubuntu通过LDAP集成AD域账号登录(libnss-ldap方式): # apt-get install libnss-ldap   (中间直接回车,忽略) # vi /etc/nsswitch.conf passwd: files ldap group:  files ldap shadow: files ldap :wq # vi /etc/ldap.conf base dc=ming,dc=com uri ldap://10.0.0.2 binddn cn=ldapadmin,cn=

asp.net权限认证篇外:集成域账号登录

在之前的我们已经讲过asp.net权限认证:Windows认证,现在我们来讲讲域账号登录, 这不是同一件事哦,windows认证更多的是对资源访问的一种权限管控,而域账号登录更多的是针对用户登录的认证,他一般与forms认证结合一起使用 demo就用之前的asp.net权限认证:Forms认证 1.改一下LoginController,如下 1 public class LoginController : Controller 2 { 3 public ActionResult Index()

SharePoint基于windows验证的如何通过组策略实现IE自动以当前域账号登录SP站点

通过组策略实现IE自动以当前域账号登录SP站点 1. 在运行中运行MMC,启动"组策略对象编辑器". 如下图: 找到组策略如下图: 找到域 点右键编辑 找到如下图: 找到[计算机配置]-[管理模板]-[windows组件]-[Internet Explorer]-Internet控制面板-安全页中.然后选择站点到区域分配列表. 我们将这个策略进行启用,并单击下方的显示,以便进一步的设置站点区域配置. 输入portal.junhe.com 点[确定] 然后我们通过这个GPO继续推内部站点

CentOS 6通过ldap集成AD域账号(nslcd方式)

CentOS 6通过ldap集成AD域账号(nslcd方式): CentOS 6默认有安装nss-pam-ldapd软件(rpm -qa nss-pam-ldapd,rpm -ql nss-pam-ldapd) vi /etc/nsswitch.conf passwd: files ldapgroup: files ldapshadow: files ldap:wq vi /etc/nslcd.conf binddn cn=aa,cn=users,dc=ming,dc=com (aa为普通AD账

gitlab使用AD域用户登录

sudo vi /etc/gitlab/gitlab.rb 添加以下内容:gitlab_rails['ldap_enabled'] = true gitlab_rails['ldap_servers'] = YAML.load <<-'EOS' main: # 'main' is the GitLab 'provider ID' of this LDAP server label: 'LDAP' host: 'xxx.xxx.xxx.xxx' #指定ldap服务器地址 port: 389 #指

Powershell批量新建AD域账号

新建前准备(新建完成公司的OU,部门,附新建命令): New-ADGroup -Name ... New-ADGroup -Name ... -Path "..." Powershell模板属性 No,Account,Name,Company,SecondaryDepartment,TertiaryDepartment,EnglishName,Displayname,Surname,Givenname,OfficePhone,Mobile,Mail,Position 注意:CSV文件需

ASP.NET Core AD 域登录

在选择AD登录时,其实可以直接选择 Windows 授权,不过因为有些网站需要的是LDAP获取信息进行授权,而非直接依赖Web Server自带的Windows 授权功能. 当然如果使用的是Azure AD/企业账号登录时,直接在ASP.NET Core创建项目时选择就好了. 来个ABC: 1.新建一个ASP.NET Core项目 2.Nuget引用dependencies / 修改```project.json``` Novell.Directory.Ldap.NETStandard Micr

C#开发中Windows域认证登录2016(扩展吉日嘎拉GPM系统V4.2)

2013年搞公司的OA时,为了统一用户登录,将Windows AD的用户和OA的账号对接,OA用户名的规则就是使用Windows AD的用户名,格式举例:Troy.Cui,原理就是先进行域服务器的认证,认证完毕使用自定义的函数根据用户名读取出OA的用户信息,然后读取出用户名和密码信息,最后使用获取到的用户名和密码进行正常的登录.当时的文章:<C#开发中Windows域认证登录2(扩展吉日嘎拉GPM系统)>,本周打算OA中开发在线培训的功能,也想借此机会升级一下底层的应用DotNet.Busin

svn+http+ad域

svn本地添加用户太麻烦了,如果公司有一百个开发人员要访问,要创建账号密码太麻烦了:所以让他们用AD域账号去登录就很方便,但是权限的管控还是在svn的本地添加(这个暂时还没办法很好的解决) 一.安装依赖包和模块包 1.域环境已经配置好的,域名example.com 2.安装本地依赖包和第三方包: #yum -y install openssl  perl perl* pcre  zlib  tree gcc gcc-c++ make libtool pcre-devel lrzsz zlib-d