Disclaimer: đây là lần đầu tiên của tôi với ASP.NET MVC 5Authorization không làm việc trong ASP.NET MVC 5
Tôi không có ý tưởng tại sao nó không hoạt động. Tôi không thể tải ứng dụng MVC5 của mình để ủy quyền cho người dùng. Tôi đã làm điều này trong các phiên bản trước (2, 3 và 4) nhưng tôi dường như không thể làm cho nó hoạt động trong OWIN.
Tôi đang sử dụng IIS địa phương với các tính năng cần thiết cho phép:
EDIT:
Tôi đang sử dụng SSL trên IIS và RequireHttps tại C#
Đây là mã:
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();
Mặc dù tôi đang sử dụng toàn cầu Authorize Tôi cố gắng để "ép" nó để xem nếu điều này là vấn đề:
public class HomeController : Controller
{
[Authorize]
public ActionResult Index()
{
return View();
}
}
Không may mắn ... Tôi không chắc chắn rằng nó là cần thiết với OWIN, nhưng tôi thậm chí đã thử bật xác thực biểu mẫu:
<authentication mode="Forms" />
EDIT [2]
Vâng, tôi phát hiện ra vấn đề ... IIS! Cuối cùng! Bây giờ, có ai biết cách sửa lỗi đó không? Tôi có cần bất cứ điều gì đặc biệt để chạy OWIN trên IIS không? Tôi có thể làm việc bây giờ, nhưng chẳng mấy chốc tôi sẽ phải triển khai các ứng dụng và sẽ lẽ chạy vào cùng một vấn đề trong các máy chủ ...
Tôi đã đọc những:
How do you login/authenticate a user with Asp.Net MVC5 RTM bits using AspNet.Identity?
Authorize attribute not working MVC 5
Bất kỳ ý tưởng nào?
bạn có nhận được bất kỳ lỗi hoặc chính xác hơn kết quả bạn nhận được là gì? –
@StephenReindl không có lỗi, tôi có thể truy cập trang tôi không nên (ủy quyền thuộc tính). Tôi chỉ thấy trang ở nhà/chỉ mục – eestein
hmmm ... thú vị ... Tại sao bạn thêm AuthorizeAttribute trong application_start? Mã khởi động của tôi đang thực hiện những điều sau trong một hàng FilterConfig.RegisterGlobalFilters (GlobalFilters.Filters); RouteConfig.RegisterRoutes (RouteTable.Routes); BundleConfig.RegisterBundles (BundleTable.Bundles); Phần còn lại được thực hiện trong Startup.cs ... –