我的ASP.NET应用程序允许用户登录并访问网站上的某些信息。这些用户基本上属于多个角色,例如:我有“管理员”,“超级用户”和“访客”等角色。允许用户根据角色修改或查看.aspx页面上的数据。我在MSN上阅读了ASP.NET中的角色管理。我能弄清楚的是,与每个角色相关的页面被分类到一个单独的文件夹中,即我需要有“Administrators”,“Power Users”和“Guests”等子文件夹。因此,当用户登录时,他被重定向到他所属角色的页面。我对吗? 这里的缺点是,如果我需要对Administrator文件夹进行一些更改,我还需要对其他文件夹进行相同的更改。 这将使得它有时非常麻烦且难以跟踪。还有其他方法可以做到这一点吗? 谢谢&问候, Sarin Gopalan
答案 0 :(得分:0)
您可以通过将用户特定功能分离到特定控制器(即AdminController,UserController。
)来管理它您可以将非用户特定的功能提取到公共控制器中,并直接从那里访问。
此外,Authorize属性可以应用于控制器甚至方法。它允许您对谁可以访问控制器中的方法进行细粒度控制。
[Authorize(Roles = "ADMIN, Sales Admin")]