2012-02-15 22 views
6

IIS 6.0を使用してWindows Server 2003上で実行されるいくつかのWebアプリケーションがあります。フォームベースの認証が.Net 2.0と.Net 4.0アプリケーション間で動作しない

アプリケーションはAsp.net 2.0で動作しています。

最近、MVC 3 Webアプリケーションがインストールされています。これは、asp.net 4ベースのものです。フォームチケットは、この新しいアプリケーションで再確認されません。

私は、このリンクを使用して作成された別のasp.netのバージョンのmachine.configファイルで同じのmachineKey設定を持つ:

:ログインWebアプリケーションで http://aspnetresources.com/tools/machineKey

構成はこのようなものです

<authentication mode="Forms"> 
    <forms name=".WEBAUTH" 
     loginUrl="login.aspx" 
     protection="None" 
     slidingExpiration="true" 
     enableCrossAppRedirects="false"  
     timeout="43200"  
     path="/" /> 
    </authentication> 

し、それに応じて、MVCアプリケーションの構成は次のとおりです。

<authentication mode="Forms"> 
    <forms name=".WEBAUTH" 
     loginUrl="http://path2theloginapp/login.aspx" 
     protection="None" 
     slidingExpiration="true" 
     enableCrossAppRedirects="false"  
     timeout="43200"  
     path="/" /> 
    </authentication> 

    <authorization> 
    <deny users="?" /> 
    <allow users="*" /> 
    </authorization> 

ログイン作品が、MVCアプリケーション常にRログインページに戻ります。

私はasp.net 4.0にIIS構成のログインWebアプリケーションのasp.netバージョンを変更します。しかし、その後、asp.net 2で動作している他のすべてのアプリケーションは動作しなくなります。

似たような状況で誰かがフォームベース認証を解決しましたか?

答えて

5

私は長い道のりを行かなければならなかったし、開かれましたMicrosoftのサポートケース

ことが判明したように、マイクロソフトセキュリティ情報MS11-100から関連するセキュリティ更新プログラムが欠落していた:

http://technet.microsoft.com/en-us/security/bulletin/ms11-100を。
オペレーティングシステムを選択し、.Net 2.0および4.0用の更新プログラムをインストールします。

これは、関連するWebアプリケーションを再構成することなく、固定フォームベースの認証を更新します。

+0

本当にありがとう! –

2

これは、ASP.NET 4.0のbreaking changesの一つだ:ハッシュアルゴリズムは今HMACSHA256

ASP.NETは、フォーム認証Cookieなど データの安全を守るため、暗号化およびハッシュアルゴリズムの両方を使用してい

デフォルトビューステート。既定では、 ASP.NET 4は、Cookieおよびビューステート のハッシュ操作にHMACSHA256アルゴリズムを使用するようになりました。以前のバージョンのASP.NETでは、古い HMACSHA1アルゴリズムが使用されていました。

ASP.NET 2.0/ASP.NET 4の混在環境を実行すると、フォーム認証Cookieなどのデータが.NET Frameworkのバージョンで機能する必要があるアプリケーションが影響を受ける可能性があります。古いHMACSHA1アルゴリズムを使用する ASP.NET 4 Webアプリケーションを構成するには、Web.configファイルに 次の設定を追加します。

<machineKey validation="SHA1" />

+0

検証は、machine.configで推奨するとおりに設定されています。asp.net 2.0モードでWebアプリケーションとアプリケーションプールを実行させても問題ありませんか? – ms007

+0

@ MS007、いいえ、CLR 2.0で動作するASP.NET MVC 3アプリケーションを使用することはできません。 .NET 4.0が必要です。一方で、従来のアプリケーションを.NET 4.0で実行させることができます。 –

関連する問題