0

フォーム認証を共有する必要がある ASP 4.0 Web フォーム アプリケーションと ASP MVC 4.5 アプリケーションがあります。ただし、認証Cookieが2番目のアプリへのリクエストに設定されていることをフィドラーを使用して確認しましたが、それでもログインページにリダイレクトされます。

here で説明されているように、各アプリケーションで同じマシン キーを使用しました。これをテストするために新しいプロジェクトも作成しましたが、それらは機能します。

4

1 に答える 1

2

問題は .NET 4.5 にあり、暗号化の機能強化がありました。つまり、アプリごとに同じマシン キーを指定していても、異なる方法で復号化されていました。新しい ASP 4.5 プロジェクトでは、httpRuntime 要素 (以下を参照) を使用して targetFramework が 4.5 に設定されていますが、2 番目のプロジェクトでは targetFramework が設定されていなかったため、.NET 4.0 が使用されていました。

<httpRuntime targetFramework="4.5" />

したがって、2 番目のプロジェクトで .NET 4.5 をターゲットにするか、アップグレードによるエラーを回避するために、2 番目のプロジェクトを指定して、.NET 4.0 を引き続き使用しながら、マシン キーに .NET 4.5 の暗号化拡張機能を使用することができます。

<machineKey compatibilityMode="Framework45" />
于 2013-06-13T06:11:54.520 に答える