如何根据用户角色在java中隐藏选项卡

问题描述:

在我的应用程序中,我有三个listitems文件上传,查看报告和更改密码。如果登录是普通用户,我需要隐藏查看报告,如果登录是管理员,我需要显示查看报告。下面是我通过使reports.visible =假想我的标签如何根据用户角色在java中隐藏选项卡

守则主的页面级

<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> 

码在登录页面 -

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

代码;我们将在.net中执行,但它不在java中工作

+0

请注意'.NET = java'! – Ravi

基本上,您将一些代表登录用户的dto传递到视图中。 Dto(数据传输对象)在大多数情况下包含(登录,名字,姓氏和角色)。然后,在你的代码做一些事情是这样的:

<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> 

如果你使用Spring Security:

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

<sec:authorize access="hasRole('ADMIN')"> 
    <li ....> 
</sec: