我正在创建一个问题跟踪系统ASP.NET Core2.2web应用程序,它用于跟踪和管理具有以下用户角色的项目创建:匿名站点访问者、登录用户、管理员、项目负责人和发布受让人。登录用户可以是一些项目的项目负责人,同时也可以是来自其他项目的一些问题的问题受让人。
我如何实现用户角色管理,以便只有分配给他们的用户才能访问ProjectController中的项目负责人和IssueController中的问题受让人的特定操作?
发布于 2019-08-10 17:00:24
您所描述的问题与角色安全性方法有关(因此与ASP.NET核心无关)。在这里使用它并不能满足您的需求,因为您需要基于“每个实例”的安全性,也就是说,要控制用户可以对每个不同的项目和每个不同的问题执行一些操作,因此每个用户的角色根据上下文的不同而不同。
因此,我在这里的建议是在Project类上创建一个名为LeaderID的新属性,它将维护作为领导者的用户的ID,然后在您想要的每个控制器操作中检查与当前用户的等价性。
问题的情况有点困难。如果问题只有一个问题,那么情况与上面相同,只需向问题类添加一个名为AsigneeID的属性即可。否则,您将不得不创建一个新的表/实体,该表/实体以多种方式保存每个问题的所有受让人。
祝好运!
https://stackoverflow.com/questions/57443735
复制相似问题