2023-02-15 282
我想知道如何在MVC身份2.0上添加用户模拟2.0,我看到一些人使用这个:
FormsAuthentication.SignOut();
FormsAuthentication.SetAuthCookie(user.UserName, false);
这不会为我工作它不会退出我使用:
AuthenticationManager.SignOut()
所以我如何继续这样做,我有管理面板是什么列出了用户,我得到了UserID或用户名,我到底要做什么?我从未使用过索赔,所以我不明白我不需要回归用户他们现在可以注销.
以下是其他人的解决方案 – :
var user = _db.AspNetUsers.Single(a => a.Id == id);
var impersonatedUser = UserManager.FindByName(user.Email);
var impersonatedIdentity = UserManager.CreateIdentity(impersonatedUser, DefaultAuthenticationTypes.ApplicationCookie);
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
AuthenticationManager.SignIn(new AuthenticationProperties { IsPersistent = false }, impersonatedIdentity);
谢谢您的问题,因为它帮助我找到了许多解决方案,包括您的和@trailmax.经过一些人以为我走过这种不同的方式,因为我只需要改变一些索赔来做冒充.我称之为这个半模拟,因为它只是改变了一些东西而不是完全改变用户.
就像trailmax我已经写了一个博客在我的方法上发布所有代码.下面我总结了它的工作原理.
我添加一个会话 cookie 具有模拟信息,我需要更改当前用户,以允许它们访问属于另一个用户的信息.我是我的案子我有一些数据的关键.
我然后使用新的mvc的5 身份验证Filter Ona认真化方法到a)寻找模拟饼干.如果发现它,则它将索赔中的权利要求改变了滤波器,然后将通过应用程序传播.
通过删除Cookie来实现超出模拟模式的
通过将其到期日期在现在将其到期日期设定为日期来实现.
优势在于对访问级别的控制得多,但它在所有情况下都不适用.在我的文章我比较我的使用@ trailmax的方法来带出每个实现的好处.
以上所述是小编给大家介绍的如何在MVC ASP.NET Identity 2.0中添加冒名顶替功能?,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/33802.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态