Jam*_*ish 6 c# webforms office365
我有一个具有O365身份验证的webforms网站,我在构建项目时使用可视工作室内置选项添加了身份验证.
这很好用,但我想做的是,它获取用户登录的电子邮件地址,并根据登录的人显示不同的链接集或不同的页面.
我该怎么做呢?
小智 0
如果底层 ADFS 未通过电子邮件声明,您将无法看到电子邮件的详细信息。首先,如果您能够登录,我建议您打印出您收到的索赔。有关读取所有声明的一种实现方式,请参阅以下链接:
如果电子邮件声明不存在,则您需要请求 ADFS 管理员通过电子邮件声明。以下是有关如何通过电子邮件索赔的参考链接: https: //learn.microsoft.com/en-us/azure/architecture/multitenant-identity/adfs
如果存在电子邮件声明,则声明类型为电子邮件 ( http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress )。如果是,那么您应该能够使用 ClaimTypes.Email 属性。但如果不是这样,最简单的方法是要求 ADFS 管理员将声明类型转换为电子邮件地址声明类型。更困难的方法是使用 ClaimTransformationManager ( https://learn.microsoft.com/en-us/dotnet/framework/security/how-to-transform-incoming-claims )。
我希望你觉得这有帮助。
干杯,乌芒