-1
「SPRING MVC」を使用しています。「AccessDeniedHandle」から実装を作成したため、「アクセスが拒否されました」というエラーが発生した場合、ユーザーを前のページにリダイレクトします。AccessDeniedHandleで前のページのURLを取得する方法
私の問題はどのように前のページのリンクを取得できますか?コントローラを使用する必要がありますか? お願いします。
「SPRING MVC」を使用しています。「AccessDeniedHandle」から実装を作成したため、「アクセスが拒否されました」というエラーが発生した場合、ユーザーを前のページにリダイレクトします。AccessDeniedHandleで前のページのURLを取得する方法
私の問題はどのように前のページのリンクを取得できますか?コントローラを使用する必要がありますか? お願いします。
私は、コントローラを使用して解決策を見つけましたが、あなたはより良い提案を持っていると思われる場合
春-のsecurity.xml
<security:http...>
...
<security:access-denied-handler error-page="/403" />
...
</security:http...>
myController.java
@RequestMapping(value="/403", method=RequestMethod.GET)
public void accessDenied(HttpSession session,HttpServletRequest request, HttpServletResponse response, Model model, Authentication auth) {
String previousPage = (String) session.getAttribute("previousPage");
if(previousPage.isEmpty())
{
if(request.isUserInRole("ROLE_ADMIN"))
{
try {
response.sendRedirect("olx/index");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else if(request.isUserInRole("ROLE_USER"))
{
try {
response.sendRedirect("me/index");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
else
{
try {
response.sendRedirect(previousPage);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
、それを共有してください
各jsp
<% Object thisPage = request.getAttribute("javax.servlet.forward.request_uri");
session.setAttribute("previousPage",thisPage); %>
[How to Ask](http://stackoverflow.com/help/how-to-ask)にアクセスしてください。この質問には多くの編集が必要です。 – rmlan
は今すぐ明らかになったと思う@rmlan – Ashile