2017-08-02 38 views
0

我爲我的公司創建了一個NET Core Web應用程序,利用單租戶Azure AD身份驗證。該應用程序是用於設置其他(傳統)應用程序使用的變量的管理工具。根網址類似"https://mycompanyadmintool.azurewebsites.net"。它工作得很好。.NET核心:如何更改基於URL結構的身份驗證?

現在我被要求將我們稱之爲「傳統認證」的東西添加到應用程序中。這是一個臨時解決方案,希望很快會被丟棄。基本上這意味着當應用程序被調用時使用這樣的網址:"https://mycompanyadmintool.azurewebsites.net/<some Guid or string or number or whatever>",應該繞過Azure AD登錄。然後URL的最後部分將被驗證並且驗證成功與否。

無論我嘗試什麼,我都無法繞過Azure AD身份驗證(除非完全禁用它),並且無需大量黑客和廉價技巧(大量錯誤代碼)就可以實現此功能。

我對.NET Core和中間件+++相當陌生,在這裏需要一些指導。我試圖研究MVC路由,感覺解決方案的一部分可能與路由有關。

有沒有人有關於如何做到「正確」的建議?感謝任何幫助或建議。

回答

0

您可以嘗試在單獨的認證中在請求管道中打開一個單獨的分支。這應該使用app.Map或app.MapWhen方法:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/middleware

app.Map("/subpath", sub_app=> { 
    sub_app.UseWhateverAuth(); // <= custom auth 
    // ... 
    sub_app.UseWhateverMiddleware(); 
    sub_app.UseMvc(); 
}); 
+0

感謝您指向我的文檔。我不知道「app.Map」 - 看起來很有希望。 我會試試這個,並得到結果。 – JorgenH

相關問題