2015-11-25 23 views
1

我正在開發一個無狀態(無數據庫)ASP.NET 5/MVC 6應用程序,它使用相同的用戶名/密碼組合對2 webservices進行身份驗證。用戶通過基於OAuth2的REST API進行身份驗證,其中accessToken需要以某種方式存儲,同時用戶通過SOAP服務進行身份驗證,但需要以某種方式存儲sessionId無狀態ASP.NET MVC 6應用程序中基於Cookie的身份驗證

我想要做什麼:

  • 有登錄表單要求用戶名/密碼
  • 身份驗證對上述REST API和SOAP服務
  • 商店中供以後重複使用一個Cookie都accessTokensoapSessionId
  • 重定向到returnUrl
  • 能夠很容易地檢索accessToken和請求soapSessionId再次

我讀過一個關於如何最上面,可以多爲你在做ASP很多不同的事情.NET 5/MVC 6,但我不確定選擇哪條路線。我見過這樣的東西:

app.UseCookieAuthentication(options => { 
    options.AutomaticAuthentication = true; 
    options.LoginPath = "/Home/Login"; 
}); 

但我也看到了這一點:

app.UseIdentity(); 

他們是否相關?我應該使用哪一個?要清楚:我不想在數據庫中存儲任何信息。我只想將標記保存在cookie中,並以符合ASP.NET 5/MVC 6中最佳實踐的方式處理登錄(即不要手動執行框架可以關注的任何內容)

回答

0

他們有關係嗎?

是的,在某種意義上它們是相關的。因爲app.UseIdentity();內部呼叫app.UseCookieAuthentication()。您可以在source code on GitHub中看到。

我不想在數據庫中存儲任何信息。

使用Identity不會強制您將數據庫用於存儲數據,但您必須執行某些步驟以在ConfigureServices方法中進行設置。

通常,爲了您的目的,您不需要使用app.UseIdentity()

相關問題