Отказ от ответственности: это мой первый раз с ASP.NET MVC 5авторизации не работает в ASP.NET MVC 5
Я понятия не имею, почему это не работает. Я не могу заставить мое приложение MVC5 разрешать пользователям. Я сделал это в предыдущих версиях (2, 3 и 4), но я не могу заставить его работать в OWIN.
Я использую локальный IIS с необходимыми функциями включен:
EDIT:
Я использую SSL на IIS и RequireHttps на C#
Это код:
protected void Application_Start()
{
GlobalFilters.Filters.Add(new AuthorizeAttribute());
}
Startup.Auth.cs
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/admin/account/login")
});
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
app.UseGoogleAuthentication();
Даже если я использую Global Авторизовать Я пытался "силой", чтобы это увидеть, если это была проблема:
public class HomeController : Controller
{
[Authorize]
public ActionResult Index()
{
return View();
}
}
Не повезло ... Я не уверен, что это было необходимо с OWIN, но я даже попробовал разрешить авторизацию форм:
<authentication mode="Forms" />
EDIT [2]
Ну, я обнаружил проблему ... IIS! В заключение! Теперь, Кто-нибудь знает, как это исправить? Нужно ли что-нибудь специальное для запуска OWIN на IIS? Я могу сейчас работать, но вскоре мне придется развернуть приложение и , вероятно, столкнуться с той же проблемой в сервере ...
Я уже прочитал эти:
How do you login/authenticate a user with Asp.Net MVC5 RTM bits using AspNet.Identity?
Authorize attribute not working MVC 5
Любые идеи?
вы получаете какую-либо ошибку или более точно, что на выходе вы получаете? –
@StephenReindl без ошибок, я могу получить доступ к странице, которую я не должен (авторизовать атрибут). Я просто вижу страницу дома/индекс – eestein
hmmm ... interesting ... Почему вы добавили AuthorizeAttribute во время application_start? Мой код запуска выполняет следующие строки: FilterConfig.RegisterGlobalFilters (GlobalFilters.Filters); RouteConfig.RegisterRoutes (RouteTable.Routes); BundleConfig.RegisterBundles (BundleTable.Bundles); Остальное сделано в Startup.cs ... –