0
我有一個簡單的用例,我想在會話開始時獲取會話變量,並且只允許根據結果訪問某些頁面。我不是很清楚這是最好的使用bindInterceptor攔截任何頁面上的任何@Get或@Post方法或使用過濾器更好。這裏是想我做的,但草圖很開放的替代品:bindInterceptor vs過濾器的guice安全性?
At the start of a new session (@SessionScoped ?), check a session variable authentication token
If (authentication == admin) {
serveRegex("admin/(jsp|html)/.*").with(GuiceContainer.class); //only allow /admin subpages
req.getRequestDispatcher("/admin").forward(req, res); //fwd all initial page requests to /admin
}
else If (authentication == user) {
serveRegex("user/(jsp|html)/.*").with(GuiceContainer.class); //only allow /user subpages
req.getRequestDispatcher("/user").forward(req, res); //fwd all initial page requests to /user
}
else {
serveRegex("signin/(jsp|html)/.*").with(GuiceContainer.class); //only allow /signin subpages
req.getRequestDispatcher("/signin").forward(req, res); //fwd all initial page requests to /signin
}
哪些技術是一種用於管理該安全模型的首選方法(至少代碼,最快的速度,等等)?我很想看到一個示例項目。
感謝您的幫助!
-John