Tôi đang sử dụng Membership Reboot trong Asp.Net5 MVC ứng dụng 6 web của tôi để quản lý danh tính của tôi, thông tin đăng nhập, vvGetOwinContext trong MVC 6
Tôi đang cố gắng để có được MR của OwinAuthenticationService làm việc như một thực hiện cho giao diện IAuthenticationService
mà tôi phụ thuộc tiêm vào bộ điều khiển của tôi.
Mẫu cho điều này liên quan đến việc tiêm IAuthenticationService
tùy sử dụng đăng ký Autofac sau:
builder.Register(ctx=>HttpContext.Current.GetOwinContext()).As<IOwinContext>();
builder.Register<IAuthenticationService>(ctx =>
{
var owin = ctx.Resolve<IOwinContext>();
return new OwinAuthenticationService(
MembershipRebootOwinConstants.AuthenticationType,
ctx.Resolve<IUserAccountService>(),
owin.Environment);
}).InstancePerLifetimeScope();
Trong MVC5, đó sẽ là tốt như HttpContext.Current.GetOwinContext()
như một phương pháp khuyến nông trong việc lắp ráp Microsoft.Owin.Host.SystemWeb
. Tuy nhiên, hội đồng này không còn được sử dụng trong MVC6 và vì vậy HttpContext.Current
không giải quyết được.
Tôi đã thấy rằng cách truy cập mới HttpContext
đang sử dụng giao diện IHttpContextAccessor
mới, nhưng điều này không giải quyết được vấn đề nhận bối cảnh Owin.
Có cách nào để nhận bối cảnh Owin hiện tại trong MVC6 hoặc từ điển môi trường Owin hiện tại (vì đó là cách sử dụng lớp học OwinAuthenticationService
)?
Tôi đang làm việc về một số xác thực hợp tác với Owin và chưa được hỗ trợ trong thế giới ASP.NET Core mới và đang chạy vào cùng một vấn đề. Bạn có tìm cách nào để làm việc cũ với cái mới không? Tôi không thể nhận được đăng xuất của mình để kích hoạt với những gì được cấu hình trong ngữ cảnh Owin khi khởi động từ bộ điều khiển mà không truy cập vào ngữ cảnh Owin. –
Tôi gặp vấn đề tương tự. Tôi cần một bối cảnh Owin để thực sự người dùng SignOut. Bất kỳ workaround_ –