首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在ASP.NET核心和DirectoryServices中,我是否可以从电子邮件地址而不是用户名获取用户身份?

在ASP.NET核心和DirectoryServices中,可以通过电子邮件地址而不是用户名来获取用户身份。一种常用的方法是使用DirectorySearcher类,通过设置Filter属性为"(mail=emailAddress)"来实现根据电子邮件地址进行搜索。以下是该方法的步骤:

  1. 引入命名空间:
代码语言:txt
复制
using System.DirectoryServices;
  1. 创建DirectoryEntry对象,指定目录服务的路径:
代码语言:txt
复制
DirectoryEntry directoryEntry = new DirectoryEntry("LDAP://yourdomain.com");
  1. 创建DirectorySearcher对象,设置Filter属性为邮箱地址:
代码语言:txt
复制
DirectorySearcher directorySearcher = new DirectorySearcher(directoryEntry);
directorySearcher.Filter = "(mail=emailAddress)";
  1. 执行搜索并获取结果:
代码语言:txt
复制
SearchResult searchResult = directorySearcher.FindOne();
if (searchResult != null)
{
    // 获取用户身份信息
    string userName = searchResult.Properties["samaccountname"][0].ToString();
    // 其他操作...
}

这种方法通过电子邮件地址从DirectoryServices中获取用户身份,在ASP.NET核心中可以很好地实现身份认证和授权的功能。

推荐的腾讯云相关产品:云服务器(CVM)、私有网络(VPC)、弹性块存储(CBS)、云数据库MySQL版、云原生容器服务(TKE)等。具体产品介绍和详细信息可以参考腾讯云官网文档:

请注意,以上仅为腾讯云的示例,其他厂商也提供类似的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

吐槽一下Abp的用户租户管理模块

聊到基于声明的身份认证将 身份签发机构分离,应用程序信任签发机构,故认可签发的身份信息。...当我满心欢喜Abp vnext中封装的ICurrentUser接口获取身份信息,却无法获取身份信息。...你会在ApplicationSerive、 AbpController看到属性CurrentUser, Abp服务控制器可以即时使用的。 --- --- 2....如果当前用户未分配给租户,返回 null. Email (string): 当前用户电子邮件地址. 如果当前用户尚未登录或未设置电子邮件地址,返回 null....new关键字显式隐藏基类继承的成员 这样我们既可以使用 Abp框架其他能力,利用new关键词我们也刻意隐藏了框架原有的ICurrentUser属性, 其他同事也不需要额外的认知成本就可以开心地像往常一样使用

1.4K10

微软不认的“0day”之域内本地提权-烂番茄(Rotten Tomato)

S4U2Self 通过此扩展可以拿到一张标识任意用户身份的TGS(图中是去获取用户X身份的TGS),上文已经解释过了,它的作用其实是协议转换。...此属性作用是控制哪些用户可以模拟成域内任意用户然后向该计算机进行身份验证。...那么上面给的代码为什么是去连接域控389端口(ldap)不是去连接636端口(ldaps)创建呢?...0x04 利用场景 说一下真实场景可能会出现的情况,场景如下: 新员工n0thing入职后用工作电脑加入公司域时,域内会创建名为n0thing-pc.redteam.com的计算机账户,用户n0thing...,n0thing同学不慎中招了,但是发现该用户没有本地管理员组里面,这时候攻击者想用mimikatz等工具获取这台机器密码时就会陷入困境。

1.1K10
  • C#开发Windows域认证登录

    对于如何实现,思考了一段时间,大体的思路如下: 1、GPM创建的用户账号Windows域中的账号一致,如域账号为Troy.Cui,那么GPM登录userName也是Troy.Cui 2、GPM...昨天实现的过程DoNet.Business增加了DomainLogon(string userName)的方法调用BaseUserManager.LogOnByUserName,但是在做模拟域用户登录的时候...OpenId,不是用户名密码了,可以进行加密登录了                        if (!...Page.Response.Write(exception.Message);                    checkInput = "alert('提示信息:登录失败,请检查你的用户名密码是否输入有误...            Page.Response.Write(ex.Message);            checkInput = "alert('提示信息:登录失败,请检查你的用户名密码是否输入有误

    1.9K10

    他居然发邮件请我去吃饭——邮件伪造那些事儿

    于是怀疑这封邮件是伪造的… 第一阶段:怀疑“李鬼”域名 刚开始想是不是有人注册了真实域名看起来很像的域名。通过比对这些字符的ASCII码,发现没问题啊,不是“李鬼”啊。...尽管已经开发了电子邮件地址身份验证协议和机制来对抗这些邮件伪造,但这些机制的效率很低。...电子邮件地址有两个部分分别是收件人的用户名域名。例如,test@gmail.com,'test’是用户名’gmail.com’是域名。...邮件接收方会列出该邮件发送方域名被授权的服务器IP,并判断发送方IP是否该列表,如果在,就接收,不在,就退回。...其核心思想是邮件的发送方通过特定方式(DNS)公开表明自己会用到的发件服务器(SPF)、并对发出的邮件内容进行签名(DKIM),邮件的接收方则检查收到的邮件是否来自发送方授权过的服务器并核对签名是否有效

    1.1K20

    16家国外网站近6.2亿用户信息被挂暗网出售

    放出的部分样本来看,包含的用户信息有效性很高,主要有帐户持有人姓名、电子邮件地址密码等数据。密码经过哈希处理或单向加密,因此必须先破解才能使用。...根据来源网站的不同,某些数据还包含位置、个人详细信息社交媒体身份验证信息等内容,付款或银行卡详细信息不在其中。...ID、SHA256密码、用户名电子邮件地址、语言、国家/地区以及一些(但不是所有用户)名字姓氏信息。...本次泄露的数据包含:用户ID、用户名电子邮件地址、SHA1密码IP地址。 该公司没有回复记者的问题。...该公司的发言人告诉记者: “我们认真对待此事,并希望进一步验证该事件是否属实。我们还将研究访问审核日志,看看是否可以追溯到任何潜在的未经授权访问事件。

    1.8K20

    红队技巧-域渗透的协议利用

    Domain hacke.testlab -RemoveDisabled -RemovePotentialLockouts | Out-File -Encoding ascii userlist.txt }" 域环境获取用户名...在这里设置不要求预身份验证后,我们可以AS_REQ阶段,填写想要伪造请求的用户名,随后会用伪造请求的用户名NTLM Hash加密返回给我们。...默认是RC4的,不是原有服务那种AES-256-CTS-HMAC-SHA1-96 !...,使用dcsync域控制器获取指定用户的账号密码散列,如krbtgt 输入如下命令,测试以当前权限是否可以使用dcsync与域控制器进行同步 lsadump::dcsync /dc:WIN-Q2JR4MURGS0...1则将能够委派的账号分为服务账号主机账号。但是加入域的主机账号已经自动绑定了SPN服务成为了2的服务账号。

    1.6K20

    单点登录SSO的身份账户不一致漏洞

    流行的用户属性包括电子邮件地址“email”字段)、用户的全名首选用户名。 IdP 负责控制与 SP 共享的此类信息。...企业管理员还可以许多电子邮件提供商处注册付费企业帐户。他们可以一个域名添加任意数量的电子邮件地址。企业帐户的每个电子邮件地址代表组织的一个用户,每个用户还会收到一个数字身份以及电子邮件地址。...为了进一步验证与重复使用的电子邮件关联的在线帐户( SP 上),攻击者可以主动检查目标 SP,以检查是否存在与重复使用的电子邮件地址相关联的在线帐户,或者他们可以定期检查收件箱是否有来自目标 SP...例如,情况❷,帐户数据库电子邮件地址可能会根据 SSO 令牌身份信息进行更新。最后,用户认证成功,无论用户信息是否可以更新,都允许用户访问匹配的帐户。...证明通过重复使用电子邮件地址,攻击者可以多种情况下通过 SSO 身份验证破坏受害者的在线帐户。首先通过研究帐户管理策略展示了终端用户获取以前使用过的电子邮件帐户的可行性被身份提供者采用。

    89731

    红队技巧-域渗透的协议利用

    Domain hacke.testlab -RemoveDisabled -RemovePotentialLockouts | Out-File -Encoding ascii userlist.txt }" 域环境获取用户名...在这里设置不要求预身份验证后,我们可以AS_REQ阶段,填写想要伪造请求的用户名,随后会用伪造请求的用户名NTLM Hash加密返回给我们。...默认是RC4的,不是原有服务那种AES-256-CTS-HMAC-SHA1-96 !...,使用dcsync域控制器获取指定用户的账号密码散列,如krbtgt 输入如下命令,测试以当前权限是否可以使用dcsync与域控制器进行同步 lsadump::dcsync /dc:WIN-Q2JR4MURGS0...1则将能够委派的账号分为服务账号主机账号。但是加入域的主机账号已经自动绑定了SPN服务成为了2的服务账号。

    93520

    Hold安全公司公布俄罗斯大型泄密事件细节

    8月4日,Hold安全公司宣布,一个俄罗斯的犯罪团伙承认了一场数据泄露事件–窃取了12亿用户名+密码的组合5千万email地址。...这个组织似乎是用窃取来的认证信息,社交网络如推特上按其他组织的需求推送垃圾邮件,然后收取相应的费用。 Hold安全公司的网站上提供了途径,让个人可以查询自己的邮件地址或者密码是否已经泄露。...数据将被怎样利用 证书可用于交叉检查站点是否允许电子邮件地址作为用户名。因为常人通常使用一个密码注册多个站点,网络罪犯会尝试登入那些允许email地址做用户名的已知网站。...例如,janedoe@gmail.com,“janedoe”将作为一个电子邮件密码的用户名。常人一般使用老一套的邮件地址密码。...定制的垃圾邮件(钓鱼):如果邮件账户的信件里有他们与零售商的互动,这就可以能定位账户主人的地域位置,同时获取其通常 购买或者通常该商店买的商品信息。

    82780

    eShopOnContainers 知多少:Identity microservice

    那进行 API 级别信任决策的第一步就是身份认证——确定用户身份是否可靠。 微服务场景身份认证通常统一处理。一般有两种实现形式: 基于API 网关中心化认证:要求客户端必须都通过网关访问微服务。...下面就着重讲解ASP.NET Core IdentityIdentityServer4本服务的使用。...它本质上就是一个键值对,是一种非常通用的保存用户信息的方式,可以很容易的将认证授权分离开来,前者用来表示用户是/不是什么,后者用来表示用户能/不能做什么。...认证阶段我们通过用户信息获取用户的Claims,授权便是对这些的Claims的验证,如:是否拥有Admin的角色,姓名是否叫XXX等等。...用户打开登录界面,输入用户名密码先行登录,服务端先行校验用户名密码是否有效,有效则返回用户实例(User),这时进入认证准备阶段,根据用户实例携带的身份信息(Claim),创建身份证(ClaimsIdentity

    2.9K20

    Asp.Net Core IdentityServer4 实战之 Claim详解

    ,怎么才能在访问受保护的Api资源获取用户的相关的身份信息呢?"。...我们先在授权中心(ids4)服务验证用户的代码添加用户的相关Claims,核心代码如下:不熟悉的请先移步Asp.Net Core IdentityServer4 授权中心之应用实战 这篇文章 public...,这么可以到数据库里面验证用户名密码是否正确 var claimList = await ValidateUserAsync(userName, password);...Task> ValidateUserAsync(string loginName, string password) { //TODO 这里可以通过用户名密码到数据库中去验证是否存在...User; //其他核心代码没有贴出来,具体的可以看官方源代码 } 看了源代码,我们是不是可以考虑使用User来获取身份证件的某些身份元件呢?

    1.4K20

    聊聊统一身份认证服务

    由于IdentityServer是一个框架不是盒装产品或SaaS,因此您可以编写代码以使系统适应您的方案。...OAuth允许用户提供一个令牌不是用户名密码来访问他们存放在特定服务商上的数据。每一个令牌授权一个特定的网站内访问特定的资源(例如仅仅是某一相册的视频)。...身份数据 - 关于用户身份信息(也称为声明),例如姓名或电子邮件地址等。服务资源(API) - 表示客户端要调用的服务 - 通常为Web API,但不一定。...JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。...身份认证服务实践 ASP.NET Core Wen API应用程序配置启用Identity server中间件 ?

    5.2K31

    asp.net core 3.x 身份验证-1涉及到的概念

    推荐个不错的流程图/脑图工具:https://www.processon.com/i/59accdd8e4b0859febda28e3,点这个链接注册可以获得几个文件限额,抱拳~ 身份验证方式简易流程...下次访问时直接Session/缓存获取当前用户。...个人觉得这种设计存在如下问题: 浪费内存:我们的业务代码访问当前用户最多的字段可能只是用户id,性别、地址、联系电话、学历....这些字段不是每个业务处理都需要的 抛弃了asp.net身份验证框架:asp.net...因为我们还需要额外的控制,比如过期时间,这个属性只是在身份验证阶段来判断是否过期,我们(如Controller.Action)使用用户标识的时候并不需要此字段,类似的额外字段根据不同的身份验证方式可能有很多...cookie身份验证流程我们发现有几个核心的处理步骤: 登录时验证通过后将用户标识加密后存储到cookie,SignIn 当用户注销时,需要清楚代表用户标识的cookie,SignOut 登录时请求获取用户标识

    2.4K30

    黑客正以3万美元价格出售 540万个Twitter帐户数据

    【图:黑客论坛发布的售卖贴】 与攻击者的对话,Bleeping Computer 被告知他们 2021 年 12 月使用漏洞收集了这些数据,该漏洞允许任何未经任何身份验证的访问者通过提交电话号码或电子邮件来获取任何用户的...Twitter ID (这几乎等于获取帐户的用户名),即使用户已在隐私设置禁止此操作。...但黑客分享给Bleeping Computer的一小部分账户数据(电子邮件地址电话号码)已得到验证是真实的,至于黑客宣称的540万账户是否全部属实,目前还无法判断。...此外,尽管出售的大部分数据都是公开的,比如电子邮件地址电话号码,但攻击者可以利用这些数据发起有针对性的网络钓鱼攻击。...为此,所有 Twitter 用户收到来自 Twitter 的电子邮件时都应保持警惕,尤其是需要输入登录凭证时,确保是 Twitter.com 的官方地址完成,不是其他未知的第三方链接。

    29410

    5种最流行的密码破解工具:保护您的账号

    密码(有时称为密码,密码,PIN或机密)用于确保只有授权的员工或用户才能访问应用程序系统。密码通常与标识符(通常是用户名电子邮件地址)结合使用,以确定谁在访问系统,以验证该身份的真实性。...密码通常与标识符(通常是用户名电子邮件地址)结合使用,以确定谁在访问系统,以验证该身份的真实性。密码只应为用户所知,不得共享。 ?...它甚至可以Raspberry PI上运行。它已在全球范围内用于渗透测试,并由IT安全团队保护其网络或在其网络查找漏洞。...CeWL –自定义WordList生成器 CeWL是最喜欢的单词列表生成器之一。它使您可以通过建立蜘蛛网网站来创建单词列表。 ? 当使用CeWL时,如下基本命令开始: ? ?...有几种出色的工具,但是Pipal是的最爱之一。这很简单,但功能强大。 您需要做的只是针对密码文件运行Pipal ruby。以下示例使用“ rockyou”密码文件: ?

    3.2K30

    研究发现,攻击者利用伪造时间戳等方式GitHub上传播恶意代码

    Checkmarx 的研究人员一份新报告警告说,开发人员查看元数据时应当尽力核实背后贡献者的身份不应仅停留于对元素据表面的检查。...根据报告称,衡量 GitHub 上用户活动的一个重要指标是用户个人资料页面上的活跃热图,显示用户一段时间内的活跃程度,攻击者能在注册的全新账户上通过伪造带有时间戳的提交记录,使之看起来已经平台上活跃了很长时间...【图:利用git set更改本地两个环境变量,从而在GitHub上显示伪造的时间戳】 类似的,攻击者还可以“借用”一些知名的、信誉度良好的贡献者身份上传包含恶意代码的项目,攻击者只需要找到这些贡献者的电子邮件地址...,然后 Git 命令行上设置用户名电子邮件地址并提交更改。...报告称,尽管 GitHub 提供了隐藏电子邮件地址的方法,但大多数人并没有使用这些功能,这使得攻击者可以相对容易地获取这些邮件地址

    44210

    【One by One系列】IdentityServer4(二)使用Client Credentials保护API资源

    **配置Identity Server Identity资源表示提供给客户端进行用户识别的信息(声明)。声明可能包括用户名称、电子邮件地址等。 API资源表示用户可通过访问令牌访问的受保护数据或功能。...用于签名的凭据(credentials) 用户可能会请求访问的Identity资源API资源 会请求获取token的客户端 用户信息的存储机制,如ASP.NET Core Identity或者其他机制...In-Memory Stores and Test Users:添加内存用户认证信息,测试用户 Quickstart UI (UI assets only):UI 2.创建ASP.NET Core...” 注意:在此场景下,客户端跟用户是没有交互的,身份认证是通过IdentityServer的客户密钥。 官方描述:你可以把ClientIdClientSecret看作应用程序本身的登录名密码。...它向身份服务器表明您的应用程序的身份是xx应用程序,想访问服务器)。

    2.3K30

    做这 12 件简单的小事,能让你更安全地上网

    黑客们窃取信息最简单的方法之一,是从一个来源获取一批用户名密码组合,并在其他地方尝试相同的组合。...例如,假设黑客通过攻击电子邮件提供商获得了您的用户名密码,于是他们可能会尝试使用相同的用户名密码组合来登录银行网站,或主要在线商店。...双因子身份验证意味着您需要通过另一层身份验证(不仅仅是用户名密码)才能进入您的帐户。如果帐户的数据或个人信息是敏感或有价值的,并且该帐户提供双因素身份验证,则您应该启用它。...这不是你的错,但你可以做些什么作为补救。您可以随时随地使用 Apple Pay 或 Android 上类似的应用,不是掏出老旧的信用卡。应用程序方面我们有很多选择。...这是您 Abine Blur 其他一次性电子邮件帐户服务获得的蒙面电子邮件的 DIY 版本。 许多网站将您的电子邮件地址与您的用户名等同起来,但有些网站允许您选择自己的用户名

    3.8K10

    开源情报收集:技术、自动化可视化

    有时 Hunter 也有姓名、职位电话号码。 超越电子邮件地址 电子邮件地址为网络钓鱼密码喷洒提供了机会,但可以更进一步。...这很有趣,因为这意味着该电子邮件地址已被用于非公司业务帐户,但报告密码来自此类违规行为是有问题的。面向客户的可交付成果盲目地平等对待所有粘贴之前,请使用良好的判断力。...但是,发现电子邮件地址的同时 LinkedIn Twitter 获取一些潜在客户并不难。这些可以使用许多与电子邮件地址相同的技巧搜索引擎结果抓取。...这些文档可以自动下载并分析元数据,其中可能包括软件信息(例如 Office 2013)或用户名。...它之所以公开,是因为该公司错误地让“任何经过身份验证的 AWS 用户可以访问它,认为这意味着他们经过身份验证的 AWS 用户不是任何 AWS 用户

    2.2K10

    网站管理软件 – AspxSpy2014 Final

    顶部User后面为用户名,此举为防止非Full-Trust下部分SysInfo功能不可用导致无法获取用户名。此项Low-Trust下不可用,显示为Unknown — No permission。...用于查询本机或远程主机WMI信息,利用得当可以获取不少信息。 Computer留空则为本机,Username与Password两项均不使用。...4.PortScan Medium-Trust及更低信任等级下会显示安全性异常,不是所有端口均关闭的信息。...5.PortMap Medium-Trust及更低信任等级下会显示安全性异常,不是连接已建立的信息。...增强PortMap的表现形式,现在可以点击List按钮来查看并管理所有开启的连接(由于数据放在Session,所以服务器必须开启Session,同时不保证Session Mode为非Inproc模式下能正常工作

    2.1K90
    领券