我有一个带有4个控制器的mvc4 Web应用程序。其中两个控制器应该允许任何人访问这些方法,但无论我尝试什么方法,我总是会被重定向到登录页面。这是其中一个控制器的示例。
[Authorize]
public class TrainersController : Controller
{
private readonly IWebinarTrainerRepository _trainerRepository;
public TrainersController(IWebinarTrainerRepository trainerRepository)
{
_trainerRepository = trainerRepository;
}
[AllowAnonymous]
public ActionResult Index()
{
var model = new IndexListViewModel {Trainers = _trainerRepository.List()};
return View(model);
}
}
任何想法我可能做错了什么?
解决方案:由于这是我第一次使用表单身份验证,我所做的一切都来自google推荐的多篇文章。在其中一个中,他们必须将它放在web.config文件中。
<authorization>
<deny users="?" />
</authorization>
我后来发现这不是必需的,并且导致问题,在mvc4中。删除它解决了这个问题。