2017-08-13 20 views
0

私のアプリケーションでは、ファイルアップロード、レポートの表示、パスワードの変更の3つのリスト項目があります。ログインが通常のユーザーであればView Reportsを非表示にする必要があり、ログインがマネージャーの場合はView Reportsを表示する必要があります。以下は私が偽= reports.visible行うことでしようとしたユーザーロールに基づいてJavaのタブを非表示にする方法

if(role.equals("Supervisor")) 
{ 
reports.visible=false; 
} 

PAGE-ログイン中

<div class="wrapper"> 
     <div class="menu"> 
      <div class="menu"> 
       <ul id="drop-nav"> 
        <li id="MenuFileUpload" runat="server"><a href="Upload.jsp">File Upload</a> 
         <ul> 
          <li><a href="ViewUploadedFiles.jsp">View Uploaded Data</a></li> 
         </ul> 
        </li> 
        <li id="MenuReports" runat="server"><a href="Reports.jsp" id="Rpf" runat="server">View Reports</a><ul> 
         <li><a href="Reports1.jsp">Report1</a></li> 
         <li><a href="Reports2.jsp">Reports2</a></li> 
         <li><a href="Report3.jsp">Report3</a></li> 
         </ul> 
        </li> 
         <li id="lichangepwd" runat="server"><a id="A1" href="ChangePassword.jsp" runat="server">Change Password</a></li> 
        <div style="width:auto;float:right;font-weight:bold;padding-right:0cm;"> 
         <li id="lilogout"><a href="Logout.jsp"> Logout</a></li></div> 
        <div style="float: left;text-align:right; width: 64%;"> 
        <asp:Label ID="lblmsg" runat="server" ForeColor="Red" BorderColor="White" Text="Label" Font-Size="Small"></asp:Label> </div> 

       </ul> 

      </div> 

     </div> 

コードPAGE-マスターの私のタブ

コードのコードがあります。私たちは.NETでやっていますが、Javaで動かないのです

+0

を '.NET = java'に注意してください。 – Ravi

答えて

0

基本的には、ログに記録されたユーザーを表すdtoをビューに渡します。 Dto(データ転送オブジェクト)には、ほとんどの場合(login、firstname、lastnameおよびrole)が含まれています。あなたは春のセキュリティを使用する場合

<c:if test="${loggedUserDto.getRole() eq 'ADMIN'}"> 
    <li id="MenuReports" runat="server"><a href="Reports.jsp" id="Rpf" runat="server">View Reports</a><ul> 
       .... 
    </li> 
</c:if> 

:次に、コードに次のようないくつかのことはない!

<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %> 

<sec:authorize access="hasRole('ADMIN')"> 
    <li ....> 
</sec: 
関連する問題