gpt4 book ai didi

c# - 在 ASP.NET 中可以有多个 Principal 吗?

转载 作者:太空宇宙 更新时间:2023-11-03 23:29:17 25 4
gpt4 key购买 nike

我最近接到一项任务,为属于特定角色的用户创建单独的登录名。已经为主要用户实现了登录,这是通过使用分配给 Thread.CurrentPrincipal 的 Principal 完成的,稍后会在每次加载页面时检查其值。我修改了我的代码以使用相同的身份验证机制,因此在我的自定义登录中我创建了自定义主体并将其分配给 Thread.CurrentPrincipal。现在的问题是,使用自定义登录我会覆盖我的正常登录,反之亦然。是否可以将我的原则分配到 Thread.CurrentPrincipal 以外的其他地方以允许两种登录变体同时工作?如果这不可能,我想了解替代方案 :)

最佳答案

DVK 的答案是有效的,但我过去在使用自定义 IPrincipal 时遇到过麻烦。另一种方法是使用单个委托(delegate)人,由 ClaimsPrincipal 表示,并利用它可以存储多个身份这一事实。例如,您可以使用 IsInRole 的默认实现。

https://msdn.microsoft.com/en-us/library/system.security.claims.claimsprincipal(v=vs.110).aspx

关于c# - 在 ASP.NET 中可以有多个 Principal 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32844662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com