【发布时间】:2009-02-10 15:23:54
【问题描述】:
我当前的项目是一个使用 ASP.Net MVC 构建的内部 Web 应用程序,我正在向其中添加身份验证。我有一个预先构建的 HTTPModule,它创建了一个具有适当角色的 IPrincipal。如果用户未通过身份验证,我将获得一个角色为“Public”的用户对象
由于这是一个内部应用程序,大多数页面都是私有的,只有“管理员”角色可以查看。因为我有一个基本控制器,所以我可以这样做:
[Authorize(Roles="Admin")]
public abstract class MyControllerBase : Controller
{
...
}
我有一个问题,因为某些操作可以在公共网站上查看,如果我将它们归为这样:
[Authorize(Roles="Public")]
public class LoginController : MyController
{
public ActionResult Index()
{
}
}
由于用户未通过身份验证,页面无法加载。似乎“继承的类上忽略了公共角色。有谁知道这些角色是否可以被继承的类覆盖?
我还试图避免将所有控制器归为 Roles="Admin"
谢谢,基思。
【问题讨论】:
标签: c# asp.net asp.net-mvc