1

我是一个新的 ASP.NET 开发人员,我在上面做了两个项目。现在,我正在开发一个简单的 Intranet 培训开发基于 Web 的应用程序,其中我有三个不同的角色:管理员、贡献者和用户。它们之间的区别在于,在 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 角色的方式似乎在这里不起作用。因为访问者将能够像我部门中具有用户角色的任何员工一样查看大部分页面。

如何区分两者?

更新:

我正在开发一个基于 Intranet Web 的应用程序,因此我使用的是 Windows 身份验证,并且我已经开发了用户管理子系统,而不是使用 ASP.NET 成员资格。

4

2 回答 2

3

您需要熟悉ASP.NET Membership,然后您将准确了解如何区分具有不同角色的用户。

于 2012-06-27T13:06:42.980 回答
0

如果还不算太晚,或者对于其他任何人,请检查以下内容:

http://www.aspnettutorials.com/tutorials/navigation/role-based-permissions-asp4.aspx
于 2013-01-02T09:31:35.317 回答