0

我在 asp.net c# 中创建一个 Web 应用程序。

该项目用于将任务分配给系统中的不同员工。项目要求员工分为三种类型,对应的权限分别为基本、主管和经理。

“基本”权限只能查看他/她的个人资料。“主管”可以创建工作,当“经理”批准该工作时,该工作将变为可用,“主管”可以将工作分配给员工。

如上所述,每个权限都有一组可用的“操作”。我的要求如下:-

管理员创建员工后,需要授予员工权限。管理员可以选择权限(例如,对于基本员工-->查看个人资料,查看分配的工作;对于主管-->查看个人资料,创建工作,将员工分配给工作;对于经理-->查看个人资料,创建工作,批准工作,将工作分配给员工;对于管理员-> 所有权限)。管理员应该能够“检查”与每个特权相关的复选框,并且基于这些选择,应该将特权分配给每个员工。

我们如何做到这一点。

注意:- 我不想在 ASP.NET C# 中使用“角色”功能。这是因为,只能使用程序员创建的权限。我希望管理员通过提供角色名称并选择各种权限来创建角色。

我已经查看了默认 asp.net 角色和权限的功能,但我的要求是在球场的另一边。

**该项目有不同的用户,我不想将它们归类为“basic emp”、“hr”、“pm”等。相反,我希望有一组复选框,并选择所需的权限通过使用复选框。

通过选择复选框获得权限的员工可以访问相应的页面。

例如:

我有一组具有关联数据的复选框:-

-查看资料

-编辑个人资料

- 创建项目

- 编辑项目

-上传简历

如果我选中与它们对应的复选框,它们将可以访问相应的网页。

这怎么可能?**

4

1 回答 1

0

您必须创建自己的安全系统。在 asp.net webform 的情况下。创建一个查找表,其中包含问题中出现的所有页面名称,其中提到了类似这样的内容

           Name           Id   Page
           Edit Profile   1    editProfile.aspx
           Update Resume  2    UpdateResume.aspx

现在像这样在使用表中维护用户和关联页面的关系

           User Id AllowedPageid
             1         1 
             2         1
             2         2

现在创建一个安全类,它可以获取页面的 URL,并有一个返回 true 和 false 的方法

          bool IsAllowed(int UserId , string pageURL)
          {
                 // Get the page name and check the DB of User is allowed to access the page
          } 

确保在每个 Page_Load 方法中调用此方法以检查它是否返回错误重定向到 NoAuthorization 页面

于 2013-07-27T14:11:13.640 回答