2012-06-27 23 views
1

我是一名新的ASP.NET開發人員,我在上面做了兩個項目。現在,我正在開發一個簡單的Intranet培訓開發基於Web的應用程序,我有三個不同的角色:Admin,Contribute和User。它們之間的區別在於,在Admin和Contribute的情況下會出現一個新的菜單選項卡。我通過將菜單欄作爲用戶控件進行開發,併爲角色創建了用於顯示每個角色特定選項卡的屬性。用戶控件(菜單選項卡)的如何區分系統的訪問者和用戶?

代碼(ASCX文件):

<ul class="menu" runat="server" > 
        <li><a href="Default.aspx">Home</a></li> 
        <li><a href="Services.aspx">Services</a> 
         <ul> 
          <li><a href="Quiz.aspx">Quiz Engine</a></li> 
          <li><a href="Suggestion.aspx">Safety Suggestions Box</a></li> 
          <li><a href="#">PMOD Saftey Management System</a></li> 
         </ul> 
        </li> 
        <li><a href="BeSafe.aspx">Be Safe !</a> 
         <ul>   
          <li><a href="Newsletter.aspx">Newsletter</a></li> 
          <li><a href="Library.aspx">PSSP Library</a></li> 
          <li><a href="Links.aspx">Useful Links</a></li> 
         </ul> 
        </li> 

        <li><a href="UserProfile.aspx">Profile</a></li> 

        <li><a href="About.aspx">About</a></li> 
        <li><a href="Contact.aspx">Contact Us</a></li> 
        <li><a href="Faq.aspx">FAQ</a></li> 
        <li><a href="Help.aspx">Help</a></li> 

        <li id="menuItem1ToHide" runat="server"><a href="Admin.aspx">Admin</a> 
        </li> 

        <li id="menuItem2ToHide" runat="server"><a href="Contribute.aspx">Settings</a> 
         <ul>   
          <li><a href="KPIReport.aspx">PMOD Safety Training Detailed Matrix</a></li> 
          <li><a href="UpdateKPIReport.aspx">Update Safety Training Matrix</a></li> 
         </ul> 
        </li> 

        <li id="menuItem3ToHide" runat="server"><a href="Contribute.aspx">Management</a> 
         <ul> 
          <li><a href="Dashboard.aspx">Department Dashboard</a></li> 
          <li><a href="KPIReport.aspx">PMOD Safety Training Detailed Matrix</a></li> 
         </ul> 
        </li> 

       </ul> 

該系統是由我司員工訪問。現在,他們要求我讓每個人都可以訪問,而不必向他們展示包含分部數據的真實功能。我很困惑我將如何開發這個功能,因爲這似乎是我用於Admin和Contribute角色的方式在這裏不起作用。因爲訪問者可以像使用用戶角色的部門中的任何員工一樣查看大部分頁面。

如何區分兩者?

UPDATE:

我開發一個內部網的基於Web的應用程序,所以我使用的是Windows身份驗證,我已經開發了用戶管理子系統,而不是使用ASP.NET成員資格。

回答

3

您需要熟悉ASP.NET Membership,然後您纔會明白如何區分具有不同角色的用戶。

+1

呀,會員肯定是要走的路。此外,它還允許您區分您的網站的登錄和匿名訪問者。 –

+0

感謝您的幫助,但請您閱讀我更新的問題。 – user1395782

+0

如果您推出了自己的產品,那麼您需要將角色的概念添加到您的安全模型中。您可能會考慮的一件事是使用Active Directory組爲您執行此操作,因爲您正在使用Windows身份驗證。 – bluevector

0

如果它不是太晚,或者給其他人,看看這個:

http://www.aspnettutorials.com/tutorials/navigation/role-based-permissions-asp4.aspx