2011-12-06 8 views
0

私はASP classicに実装されているWebアプリケーションを持っています。今度はASP.NETに移行したいと思いますが、アプリケーションが非常に大きいため、一度に移行することはできません。代わりに、ASP.NETビットを徐々に追加して置き換えることにしました。ASP.NETでASPクラシック認証を使用するには?

私はそれがここで説明するようにASPクラシックとASP.NET認証を使用することが可能それことを知っている:http://weblogs.asp.net/scottgu/archive/2007/03/04/tip-trick-integrating-asp-net-security-with-classic-asp-and-non-asp-net-urls.aspx

私は必要なものはまったく逆です。 ASPクラシック認証システムを使用してASP.NETページを保護する方法はありますか?それを行う標準的な方法がない場合、どのようにそのようなものを実装するでしょうか?

おかげ

+2

.NETベースであるように認証を書き直すほうがはるかに優れています。時間もかかりません。 –

+0

標準のClassic ASP認証はありません。あなたは何か習慣が必要です。 –

+0

あなたはまだアプローチを決めましたか? –

答えて

1

あなたはクッキーやに保存されている、そのようなチケットを持つユーザ(そして、ASP.NETをFormsAuthenticationモジュールはそれを復号化できるような方法であなたのクラシックASPコードで有効なチケットを暗号化することができる場合URL)は、ASP.NET要求パイプラインで認証されたと見なされます。ここで

がどのように手動で静的FormsAuthentication.Encryptメソッドを使用して暗号化に関するドキュメントです:

http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.encrypt.aspx

これは、チケットは本当に何も特別な、基本的にはユーザー名、有効期限がないことを示します。余分なユーザーデータもチケットに保存することに注意してください。

もちろん、実際の暗号化アルゴリズムはまだありません。これはweb.configの設定、具体的には<machineKey>要素に依存します。 decryptionKey属性を明示的に設定する必要があります。これは、従来のASPコードで同じキーを使用する必要があるためです。

MSDN: machineKey element

そして、あなたは(たとえばDESのように)あなたのクラシックASPコードで同じアルゴリズムを使用することができるように、あなたはまた、解読属性を設定する必要があります。必要に応じて、クラシックASPコードで組み込みのものをサポートできる場合は、カスタムの暗号化アルゴリズムを作成できます。

あなたはこのような構成で終わるだろう:私はそれを実装する方法をある

<machineKey decryptionKey="your key here" decryption="DES" /> 

関連する問題