ClaimsPrincipal的哪个属性可用于在MVC控制器中唯一标识用户

时间:2018-08-23 10:15:58

标签: azure active-directory asp.net-core-webapi

我有一个在Azure上作为服务发布的webapi。它使用了集成的AD安全性。

在我的控制器中,我可以通过User属性访问ClaimsPrincipal。可以使用ClaimsPrincipal的哪个属性来唯一标识用户,以便我可以使用该值在SQL表中搜索该用户数据或将数据存储到SQL表中并包括用户唯一标识? identity属性具有一个名称,但是我在考虑一个更唯一的标识符。

还是有不同的预期策略来做到这一点?

1 个答案:

答案 0 :(得分:0)

AFAIK,您可以使用 upn oid (对象标识符)声明。

UPN通常是您的登录名e。 G。 yourname@yourtenant.onmicrosoft.com,而oid是该用户的ObjectId。

注意:如果您删除并重新创建具有相同电子邮件的用户,则upn将会相同,而oid将会改变。