2016-09-08 46 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