我们有一个具有两种用户类型的应用程序。其中一人是管理员,另一人是客户。我们使用AspNet身份验证用户并发出cookie。 但是,有一种情况下管理员和用户共享相同的浏览器。当客户端登录时,cookie会被覆盖,当返回到管理员页面时,我们将失去身份验证。反过来也是如此(客户端首先登录,然后是管理员)。 有没有一种方法可以在同一浏览器上同时支持多个经过身份验证的用户? 问候。 Luis。多用户相同的浏览器asp身份
回答
没有,浏览器没有任何用户的理解。您设置了Cookie并且浏览器发回了这些Cookie。应用程序然后接收并检查这些cookie以在下一个请求中找出当前用户;
有没有办法让浏览器知道什么饼干应该发回,有没有办法让你的服务器知道正确的用户还有什么比读那些饼干等。为什么你想要2种不同的用户类型共享相同的浏览器窗口?这破坏了整个安全模型。
如果2人必须共享相同的设备,那么大多数浏览器都支持民营窗口或单独的“个人资料”,所以你可以有完全不同的喜好和会话而不共享任何数据。以下是Chrome浏览器的个人资料链接特征:https://support.google.com/chrome/answer/2364824
我已经设法为应用程序中的每个用户创建一个单独的cookie。我真的不希望我的浏览器决定发送哪个cookie,而是让应用程序决定将哪个cookie转换为经过身份验证的用户。我们可以以某种方式拦截cookie身份转换过程中的身份吗? –
这听起来不对。您不应该为每个用户创建单独的Cookie,应该使用单个Cookie名称,并且值(已加密)包含用户的ID和任何其他缓存信息,如角色和声明。 'ASP.NET Identity'自动完成所有工作,或者您可以使用'Cookie Authentication'作为只管理cookie的低级API,您必须自己添加密码验证,角色和声明结构。应用程序如何知道它是查看页面的“用户”还是“管理员”? –
在我的应用程序中,路由只能由一种类型的用户使用。因此,我的想法是,如果请求中存在两个cookie,请确定被调用的路由并根据该路由决定使用哪个用户。 –
- 1. 简单的用户身份验证和有用的浏览器
- 2. RESTful浏览器用户代理和身份验证
- 3. ASP.NET核心身份跨浏览器
- 4. 使用相同的浏览器实例?
- 5. ClaimsPrincipal.Current.Identity.Name空从客户端身份验证时,罚款浏览器
- 6. SimpleTest - Web浏览器 - 将身份验证传输到客户端
- 7. ASP.NET成员身份防止用户同时以不同的计算机上的相同用户身份登录
- 8. 同步用户的浏览器刷新
- 9. 用户Agnet(浏览器/浏览器)Progmatically
- 10. 多浏览器Windows同步
- 11. 刷新Silverlight 4中的浏览器后的用户身份验证问题
- 12. Chrome浏览器 - 相当于Firefox浏览器的IE浏览器
- 13. 以用户身份管理浏览页面
- 14. Firebase身份验证不适用于Chrome浏览器
- 15. podio API JS浏览器身份验证和API调用
- 16. 使用Android浏览器进行ASP.NET窗体身份验证
- 17. Express-Passport本地身份验证不适用于Safari浏览器
- 18. p4以不同用户身份同步
- 19. 如何防止所有Firefox浏览器实例使用相同的身份验证Cookie?
- 20. 如何使用jQuery在所有浏览器中计算相同的身高
- 21. 在许多浏览器上同步用户输入
- 22. 多用户在不同浏览器中登录
- 23. 许多Selenium浏览器执行相同的任务(python)
- 24. Android Webview与Chrome浏览器相同吗?
- 25. 多个客户端,相同的IP不同端口:错误身份验证
- 26. 以不同的用户身份登录ASP.MVC不会改变用户身份
- 27. 非IE浏览器中的ASP.NET HttpHandler身份验证问题
- 28. 在Windows Phone浏览器控制中的身份验证
- 29. 具有基本身份验证的跨浏览器AJAX请求
- 30. 确定是否浏览器支持集成的身份验证
'支持在同一时间对同一browser'多个认证的用户,你想实现的模拟? – Win
不是真的,我只想要两个同步用户在同一个应用程序 –
不行,不可能。不在身份中,不在任何其他网络应用程序中。您可以是管理员或用户。在成为其他用户之前需要注销。如果您同时拥有两个应用程序,那么该应用程序如何知道哪个用户正在使用该系统? – trailmax