1

ダウンタイムなしでVSからWebアプリケーションを公開しようとしています。 Googleで検索すると、スロットの使用について話す公式の文書があり、後でスワップすることができます。VS2015からゼロダウンタイムでWebAppをAzureにデプロイ

これは良いアプローチですが、私はスワップを実行するとログインが失われてしまいます(この質問を見てください:link)。リンクで

関連情報:

セッションが認証にリンクされていないが、あなたは間違った方法でそれを解決しようとしています。

すべてのフォーム認証チケットとCookieは、データ保護レイヤーを使用して暗号化され、署名されています。遭遇している問題は、暗号化キーが保存されず、アプリケーションが互いに分離されているためです。

どうすればいいですか? AWSでは、私は

詳細について

が、私は感謝のアイデンティティ3.0で

ASP.NETコアを使用しています...ローリングアップデートを持っていました!

答えて

2

あなたが見ているのは今、紺碧の制限です。 Azure Webサイトはキーリングを共有しますが、スワップスロットは別々のアプリケーションとして認識されます。

試してみるべきことがいくつかあります。

まず、共通のアプリケーション名を設定します。キーリングを共有するすべてのアプリケーションがデフォルトで分離されているため、これは役に立ちます。彼らは、アプリケーション名を共有している場合、彼らはそれが(ホットスワップがAzureのWebアプリケーションの共有キーフォルダを使用して終了ならば、私は正直わからないよ)紺碧のために十分ではない場合は、Azureのデータを使用していることを組み合わせることができ、キー

public void ConfigureServices(IServiceCollection services) 
{ 
    services.AddDataProtection(); 
    services.ConfigureDataProtection(configure => 
    { 
     configure.SetApplicationName("my application"); 
    }); 
} 

を共有することができます暗号化キーを格納するテーブル - https://github.com/GrabYourPitchforks/DataProtection.Azure/tree/dev

これらの2つの間に、アプリケーション間で共有されているアイデンティティのクッキーを保護するための暗号化キーが必要です。

+0

私は結果を得る前にアプリケーション名を設定してテストしました...私はMicrosoftのスペイン語で私の問題を伝えるためにbernを持っています...私たちはBizspark計画でAWSからAzureに移行しています...他のオプションをテストします... – chemitaxis

+1

キーリングが共有されているかどうかを確認するために、Webアプリケーションチームに何人かの人に電子メールを送りました – blowdart

+0

こんにちは@blowdart私はそれをテストし、魅力的に働きました。再度、感謝します!! – chemitaxis

-1

メモリ内セッション状態を使用していますか?

'ログインしていません'という問題はアーキテクチャ上の問題であり、ウェブアプリケーションの更新に関する問題ではありません。

セッション状態にRedisCacheのようなものを使用してください。アプリケーションを更新しても持続するだけでなく、複数のサーバーインスタンスの負荷分散が処理されます。あなたがあなたのアプリを更新するときに加えて、複数のサーバーにスケールアウトするときにはおそらくこの問題があります。

+0

こんにちは、ID 3.0のログインはセッションを使用していません...私の質問に添付されたリンクを読んでください。ありがとう!! – chemitaxis

+1

重要な情報が他の投稿にある場合は、それを投稿に含める必要があります。私は外部リンクを「このqustionを見てください」という文でブラウズするつもりはありません –

+0

申し訳ありませんLeRoy、アイデンティティ3.0を使ってImを追加しました...もっと情報を追加しますが、これはセッションが保存していない典型的な問題ではありませんDBなどでは、私のアプリケーションでセッションを使用しません。 – chemitaxis

0

私が興味のある方のために、ASPNETコア1.0用のフォークが見つかりました:

https://github.com/prajaybasu/DataProtection.Azure/tree/dev/DataProtection.Azure

だけ他のもののような、それはAzureストレージアカウントに暗号化キーを格納します。 それは私の問題を完全に解決しました。

blowdartのソリューションから、私は私の問題を解決しました。ありがとうございます。

アンドレア

関連する問題