2016-09-08 21 views
0

我有一个web应用程序,它有两部分:前部和后部。这两个部分都需要用户的登录页面。会员需要使用/登录才能登录前台部分。管理员需要使用/ admin/signin登录后台部分。如何实现,谢谢在Shiro上实现多次登录的浏览器

+0

可以使一个人认为从前端使用相同的登录页面为用户和管理员从后端侧重定向他们从该用户的类型。 –

回答

0

这取决于用户通过错误/登录页面登录时想要发生什么。我猜成员不应该被允许进入,但是如果管理员登录到成员的页面呢?

老实说,最简单的做法是只隐藏/显示的“管理员”链接时,管理员登录(例如,仅呈现链接,当用户作为“管理员”角色或权限。

+0

谢谢,@布赖恩德默如果后台登录成功,然后前面没有登录,换句话说:它们是两个不同的会话密钥,我知道如果直接使用对会话进行身份验证非常简单,比如:session(“menber”, menber); session(“admin”,admin),shiro能实现这个功能吗? – stackhuige

+0

你可以,但不可以开箱即用。默认情况下,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以及对物体进行作用域来减少工作量, 您可能还想考虑将应用分成两个不同的服务。 –

+0

谢谢@ Brian Demers,你能举一个例子吗? – stackhuige