我正在將舊應用程序遷移到ASP.NET核心/ MVC。此應用程序使用一些OWIN中間件來管理身份驗證。ASP.NET Core,MVC和OWIN
中間件在使用「UseOwinAppBuilder」進行註冊時完美地工作,但是在我需要獲得「Owin上下文」以使其能夠使用身份驗證的應用程序的某些部分中。 「老字號」的代碼確實是這樣的:
var context = Request.GetOwinContext();
var authentication = context.Authentication.AuthenticateAsync("AuthScheme");
我知道,在ASP.NET的核心,我可以使用管理的HttpContext.Authentication.AuthenticateAsync
認證,但如果我通過
var authentication = HttpContext.Authenticaiton.AuthenticateAsync("AuthScheme");
取代以前行,收到錯誤:
「無驗證處理器,配置方案驗證:AuthScheme」
我懷疑發生了錯誤,因爲AUTH誘導中間件使用OWIN註冊,而不是在ASP.NET Core中註冊。
我知道有一些對象允許創建一個「OwinEnvironment」並訪問一個「OwinFeatureCollection」,但我不確定這是否可以訪問「舊」Owin上下文(以及我不知道沒有找到關於這些對象如何工作的詳細文檔)。
作爲概述:是否有某種方法可以訪問ASP.NET Core中的「舊」Owin上下文,以管理使用註冊中間件的身份驗證?