【发布时间】:2021-08-26 15:32:39
【问题描述】:
我的控制器中有以下代码,我们将用户 ID 从声明身份传递到 peoplesoft 服务。我尝试在本地运行它,但没有声称获取用户 ID,它失败了。
请让我知道当它在服务器上时用户 ID 的值是什么,以及我可以在本地主机上作为用户 ID 传递什么。
var cp = (ClaimsIdentity)User.Identity;
var userId = cp.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value;
try
{
var soapClient = Peoplesoft.SoapClient.Create<CI_SU_MY_STUDENT_PortTypeClient, CI_SU_MY_STUDENT_PortType>("CI_SU_MY_STUDENT_G", userId);
var results = soapClient.CI_SU_MY_STUDENT_G(new Get__CompIntfc__SU_MY_STUDENTTypeShape
{
OPRID = new Peoplesoft.CsMyStudent.OPRIDTypeShape3 { Value = studentId }
});
resultString = Utilities.XmlObjectToJsonString(results);
}
谢谢
【问题讨论】:
-
您是否使用 Asp.net Core Identity?登录成功后,有没有给当前用户添加过Claim,可以分享一下相关代码吗?
标签: asp.net-mvc asp.net-core claims-based-identity