我当前的项目是使用ASP.Net MVC构建的内部Web应用程序,我正在添加身份验证.我有一个预先构建的HTTPModule,它创建一个具有相应角色的IPrincipal.如果用户未经过身份验证,我会获得一个角色为"Public"的用户对象
由于这是一个内部应用程序,因此大多数页面都是私有的,只能查看角色"Admin".因为我有一个基本控制器,我可以这样做:
[Authorize(Roles="Admin")]
public abstract class MyControllerBase : Controller
{
...
}
Run Code Online (Sandbox Code Playgroud)
我有一个问题,因为有些动作可以在公共网站上查看,如果我将它们归类为:
[Authorize(Roles="Public")]
public class LoginController : MyController
{
public ActionResult Index()
{
}
}
Run Code Online (Sandbox Code Playgroud)
由于未对用户进行身份验证,因此无法加载页面.它似乎是"公共被忽略的继承类的角色.有没有人知道角色是否可以被继承的类重写?
我也试图避免使用Roles ="Admin"归因于所有控制器
谢谢,基思.