【发布时间】:2016-05-08 22:17:02
【问题描述】:
在我的 MVC5 项目中,管理员可以在控制面板中创建课程并将课程存储在数据库中(目前只有 2 个课程)。另一方面,我可以为这些课程创建一些角色,即 CanCreateMathHomework、CanCreateChemistryHomework,这样只有相关课程的教师才能使用 ASP.NET Identity 发布相关课程的作业。到目前为止,一切都很顺利,教师可以发布他们的课程作业。
LessonController:
[Authorize(Roles = "CanCreateMathHomework")]
public ActionResult CreateMathHw()
{
//code omitted for brevity
}
[Authorize(Roles = "CanCreateChemistryHomework")]
public ActionResult CreateChemistryHw()
{
//code omitted for brevity
}
但是,我想创建一个灵活的权限机制,让新创建课程的教师无需在数据库中创建新角色或在控制器中创建新操作即可发布他们的作业。我想要执行的是:
1) 管理员将继续创建新课程和课程教师,然后像以往一样将它们保存在数据库中。
2) 管理员将权限授予新创建课程的老师,以便他或她能够像其他老师一样发布他或她的课程内容。
3) 不需要在 Controller 中创建新的 Action 方法,所有事情都应该在不需要软件开发人员的情况下完成。
但是怎么做呢?可能吗?如果是这样,是否可以使用全局角色和操作方法来执行此操作?我真的很困惑,任何帮助将不胜感激。谢谢。
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-identity asp.net-identity-2