我有一个web应用程序,它有两部分:前部和后部。这两个部分都需要用户的登录页面。会员需要使用/登录才能登录前台部分。管理员需要使用/ admin/signin登录后台部分。如何实现,谢谢在Shiro上实现多次登录的浏览器
回答
这取决于用户通过错误/登录页面登录时想要发生什么。我猜成员不应该被允许进入,但是如果管理员登录到成员的页面呢?
老实说,最简单的做法是只隐藏/显示的“管理员”链接时,管理员登录(例如,仅呈现链接,当用户作为“管理员”角色或权限。
谢谢,@布赖恩德默如果后台登录成功,然后前面没有登录,换句话说:它们是两个不同的会话密钥,我知道如果直接使用对会话进行身份验证非常简单,比如:session(“menber”, menber); session(“admin”,admin),shiro能实现这个功能吗? – stackhuige
你可以,但不可以开箱即用。默认情况下,Shiro将它的SecurityManager放在ServletContext中,因此您需要重写'EnvironmentLoaderListener'来创建多个实例,然后处理设置两个不同的[Shiro过滤器](https://github.com/apache/shiro /blob/1.3.x/web/src/main/java/org/apache/shiro/web/servlet/ShiroFilter.java)。这可能可以通过使用Guice或Spring以及对物体进行作用域来减少工作量, 您可能还想考虑将应用分成两个不同的服务。 –
谢谢@ Brian Demers,你能举一个例子吗? – stackhuige
- 1. Magento - 多浏览器登录前登录
- 2. 禁用浏览器平台/在浏览器平台上登录
- 3. 使用Java处理跨浏览器的多次登录
- 4. Yii2 REST API多个浏览器登录
- 5. Zend AUTH在差异计算机或浏览器上禁用多次登录
- 6. 实现浏览器
- 7. 登录不上手机浏览器
- 8. 让浏览器登录
- 9. 跨浏览器登录?
- 10. vb.net Web浏览器登录
- 11. 登录Vb.net与浏览器
- 12. 登录持续浏览器
- 13. apache Shiro登录
- 14. Django的登录在浏览
- 15. 是可以在Java中单次登录的多个浏览器窗口
- 16. Logstash在浏览器登录尾
- 17. 在Chrome浏览器中登录问题
- 18. Shiro中的多个登录网址
- 19. 浏览器EventListenerList实现
- 20. EcmaScript 5浏览器实现
- 21. 无法限制多个登录在不同的浏览器
- 22. 如何避免在liferay中从同一浏览器多次登录?
- 23. 如何防止在同一个浏览器多次登录使用PHP
- 24. 浏览器中的“远程登录”
- 25. 登录不同的浏览器MVC 4
- 26. 记录浏览器设置,在客户端浏览器上呈现html。
- 27. LinkedIn登录在移动浏览器上的屏幕超时
- 28. 在同一台机器上没有多次登录但允许使用相同的浏览器
- 29. Apache Shiro - 浏览器URL只适用于使用网站浏览
- 30. MVC的ActionExecutingContext HttpContext.User.Identity.IsAuthenticated在多个浏览器选项卡上登录时返回False
可以使一个人认为从前端使用相同的登录页面为用户和管理员从后端侧重定向他们从该用户的类型。 –