Я создал веб-приложение ASP.Net MVC и использовал NuGet для установки Ninject версии 2.2.1.4 и Ninject.MVC3 версии 2.2.2.0.Это приложение использует формы аутентификации.У меня проблема с получением авторизации для работы ...
Это мой метод Application_Start в Global.asax:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
var kernel = new StandardKernel();
// binding code goes here...
// Remove this dependency resolver and Authorisation will work...
DependencyResolver.SetResolver(new NinjectDependencyResolver(kernel));
}
И одно из моих действий в контроллере:
[Authorize(Roles = "Admin")]
public ActionResult About()
{
return View();
}
И раздел аутентификации моего web.config:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
Проблема заключается в том, что неавторизованные пользователи сразу переходят в представление About, а не перенаправляются в LogOn.Я знаю, что проблема с NinjectDependencyResolver, потому что, когда я удаляю строку «DependencyResolver.SetResolver ...» из Application_Start, перенаправленные неавторизованные пользователи.
Буду признателен за вашу помощь.
С уважением, Фил