【发布时间】:2011-12-07 07:55:29
【问题描述】:
我正在创建我的第一个 ASP.NET MVC 3 应用,但在创建基于用户角色的类实例时遇到了问题。
我有一个名为 Account 的类,它包含有关用户帐户的信息和一些允许我操纵(更新)用户帐户信息的方法。例如 ChangeNickName、AddToGroup、RemoveFromGroup、Ban 等。
如您所见,这些方法的问题是我不想让任何人使用 AddToGroup 或 Ban 方法,但只允许具有指定角色的用户(我正在使用 ASP.NET 默认角色实现系统)
所以我想知道有没有一种方法可以将属性 [Authorize(Roles = "Admin")] 添加到我的 AddTogroupMethod 中,就像我在控制器方法上使用它一样
我知道,通过正确实现控制器,我不需要这样的东西,但我想确保如果用户不是指定角色的一部分,我不允许任何人创建类的实例(或意外使用指定的方法)。
因此,例如,如果我不小心在用户控制器中添加了对 AddToGroup 方法的访问权限,我仍然可以防止他们利用附加到此方法的属性来利用错误
如果我不能用属性解决这个问题,如果我从 xy 类调用 AddToGroup 方法,是否有办法让 VS 阻止我调试应用程序
如果您对如何使这项工作有任何想法,我愿意接受建议
比提前
【问题讨论】:
-
授权与您想做的事情无关...您最好考虑在您的代码中自己实现它。
标签: c# asp.net-mvc implementation roles