c# - C# - 如何扩展 UserLoginEventSuccessEvent
问题描述
我想扩展它UserLoginSuccessEvent
以包含第二个IPrincipal
对象,如下所示:
public class MyCompanyUserLoginSuccessEvent : UserLoginSuccessEvent
{
public IPrincipal MyCompanyUser { get; }
public TylerUserLoginSuccessEvent(string username, string subjectId, string name, IPrincipal myCompanyUser)
: base(username, subjectId, name)
{
MyCompanyUser = myCompanyUser;
}
}
然后它是这样调用的:
var myCompanyAuthenticationResult = await HttpContext.AuthenticateAsync(AzureADDefaults.AuthenticationScheme);
await _events.RaiseAsync(new MyCompanyUserLoginSuccessEvent(user.UserName, user.Id, user.UserName, myCompanyAuthenticationResult.Principal));
authenticationResult.Properties.Items.TryGetValue("returnUrl", out string returnUrl);
return await RedirectToReturnUrl(returnUrl);
但是,我在尝试MyCompanyUser
从调用此 API 的代码中访问时没有成功。
基本上,我只需要 C# MVC 中的 BaseController 能够拥有多个User
属性,这样我就可以看到他们在网站上和从公司的角度登录的身份。
不知何故,C# MVC 中的基本Controller
对象是设置这个User
属性,我不明白我是如何向它添加另一个用户的。
解决方案
推荐阅读
- python - Python 3.6.4 脚本在调试模式下工作,但在终端上运行时返回错误
- linux - select() 是阻塞调用还是非阻塞调用
- r - R:绘制混合效应模型绘制结果
- php - 带有上一期和下一期链接的 WooCommerce 产品类别页面
- python - Python为udp打开多个cmd提示
- sql - 没有重复条件的表并集
- python - 如何使用以下逻辑在python中编写罗马数字到整数转换的代码
- linux - for循环中的slurm作业名称
- c# - 从现有的 Json 流中删除 $ type 和 Id 属性?
- javascript - 使用隐藏和显示自动更新jquery中的多个下拉菜单