Скрыть или отобразить ссылки на JSP для каждого пользователя? - PullRequest
1 голос
/ 04 марта 2012

У меня есть домашняя страница в JSP моего приложения MVC, на которой есть несколько ссылок. Теперь моя цель - скрыть или отобразить определенные ссылки для некоторых конкретных пользователей, которые я уже определил в своем applicationContext-security.xml, как показано ниже:

<authentication-provider>
        <user-service id="userDetailsService">
            <user name="admin" password="admin" authorities="ROLE_TEST, ROLE_USER, ROLE_SUPERVISOR, ROLE_ADMIN" />
            <user name="tom" password="kite" authorities="ROLE_SUPERVISOR, ROLE_TEST, ROLE_USER" />
            <user name="user" password="pass" authorities="ROLE_USER, ROLE_TEST" />
            <user name="test" password="test" authorities="ROLE_TEST" />
        </user-service>
    </authentication-provider>

Когда пользователь заходит на мой сайт, он может видеть только те ссылки, которые ему разрешено видеть. У вас есть или знаете, где я мог бы найти некоторые примеры этого?

Мой hello.jsp (домашняя страница приложения)

<%@ include file="/WEB-INF/jsp/include.jsp" %>

<html>
  <head>
  <link rel="stylesheet" type="text/css" href="css/mystyle.css" />
  <title><fmt:message key="title"/></title>
  </head>
  <body>
    <h1><fmt:message key="heading"/></h1>
    <p><fmt:message key="greeting"/> <c:out value="${model.now}"/></p>
    <h3>Products</h3>
    <table border="2" align="center">
 <tr>
 <td align="center" width="50"><b><span style="color:red">Id</span></b></td>

 <td align="center" width="150"><b><span style="color:red">Product Name</span></b></td>

 <td align="center" width="150"><b><span style="color:red">Product Price</span></b></td>

 <td align="center" colspan="2" width="70"><b><span style="color:red">Actions</span></b></td>

 </tr>
    <c:forEach items="${model.products}" var="prod">
      <tr>
   <td align="center"><c:out value="${prod.id}"/></td>
   <td align="center"><c:out value="${prod.description}"/></td>
   <td align="center"><i>$<c:out value="${prod.price}"/></i></td>
   <td align="center" width="70"> <a href="<c:url value="/editpage.htm?id="/>${prod.id}&prodname=${prod.description}&prodprice=${prod.price}">Edit</a></td>
   <td align="center" width="70"><a href="<c:url value="/deleteprod.htm?id="/>${prod.id}&prodname=${prod.description}&prodprice=${prod.price}">Delete</a></td>
  </tr>
     </c:forEach>
     </table>
    <br>
    <ul><li><a href="<c:url value="/addprod.htm"/>">Add New Products</a></li></ul>
    <ul><li><a href="<c:url value="/priceincrease.htm"/>">Increase Prices</a></li></ul></br>
    <%@ include file="/WEB-INF/jsp/navigation.jsp" %>
    <%@ include file="/WEB-INF/jsp/userinfobar.jsp"%>
    <p>
  </body>
</html>

спасибо за любую помощь!

1 Ответ

2 голосов
/ 04 марта 2012

Spring security имеет JSP taglib для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...