私は新しい ASP.NET 開発者で、2 つのプロジェクトを行いました。現在、私は単純なイントラネット トレーニング開発 Web ベース アプリケーションを開発しています。このアプリケーションでは、管理者、投稿者、およびユーザーの 3 つの異なる役割を担っています。すべての違いは、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>
このシステムには、私の部門の従業員のみがアクセスできます。今、彼らは、分割データを含む実際の機能を見せずに、誰でもアクセスできるようにするように私に求めました。管理者と貢献者の役割に使用した方法がここでは機能しないように思われるため、これをどのように開発するかについて混乱しています。訪問者は、ユーザー ロールを持つ私の部門の従業員と同じように、ほとんどのページを表示できるためです。
それらの両方を区別する方法は?
アップデート:
イントラネット Web ベースのアプリケーションを開発しているため、Windows 認証を使用しており、ASP.NET メンバーシップを使用する代わりにユーザー管理サブシステムを既に開発しています。