Select the product you need help with
Visual C# .NET を使用して、フォーム認証に使用するキーを作成する方法文書番号: 312906 - 対象製品 この記事は、以前は次の ID で公開されていました: JP312906
Microsoft Visual Basic .NET については、次の資料を参照してください。
313091
(http://support.microsoft.com/kb/313091/JA/
)
この資料では、次の Microsoft .NET Framework クラス ライブラリの名前空間を参照しています。
目次概要
この資料では、フォーム認証の Cookie データの暗号化、解読、および検証に使用するキーの作成方法について説明します。この資料で作成するキーは、Machine.config ファイルおよび Web.config ファイルで <system.web> 要素の <machineKey> セクションの validationKey 属性および decryptionKey 属性に使用できます。
必要条件次の一覧は、推奨する必要なハードウェア、ソフトウェア、ネットワーク インフラストラクチャ、および Service Pack です。
プロジェクトの作成以下の手順を実行して、Visual C# .NET のコンソール アプリケーションを作成します。
キーを生成するコードの記述以下のコードにより、コマンド ラインから渡される 2 つの引数が読み取られます。
注 : 作成される 16 進数の文字列のサイズは、コマンド ラインで渡される値の 2 倍になります。たとえば、キーに 24 バイトを指定すると、変換後の文字列の長さは 48 バイトになります。decryptionKey の有効な値は 8 または 24 です。これにより、DES (Data Encryption Standard) 用の 16 バイト キー、または Triple DES 用の 48 バイト キーがそれぞれ作成されます。validationKey の有効な値は 20 〜 64 です。これにより、長さ 40 〜 128 バイトのキーが作成されます。コードからは、<machineKey> 要素全体が出力されます。この出力を Machine.config ファイルまたは Web.config ファイルにコピーして貼り付けることができます。 .cs ファイルに以下のコードを追加します。 ハッシュの生成これまでの作業により、アプリケーションはコンパイルできる状態になっています。コマンド プロンプトから、解読キーと検証キーのサイズを示す 2 つの整数値を渡して、アプリケーションを実行します。たとえば、コンソール アプリケーションに HashConfigCs.exe という名前を付けた場合、アプリケーションの Bin\debug ディレクトリでコマンド ラインから以下の構文を入力します。 hashconfigcs.exe 24 64
アプリケーションにより、以下のような出力が返されます。
<machineKey validationKey="21F090935F6E49C2C797F69BBAAD8402ABD2EE0B667A8B44EA7DD4374267A75D7AD972A119482D15A4127461DB1DC347C1A63AE5F1CCFAACFF1B72A7F0A281B"
decryptionKey="261F793EB53B761503AC445E0CA28DA44AA9B3CF06263B77"
validation="SHA1"/>
構成ファイルの更新
トラブルシューティング以下の場合には、Web ファーム全体で <machineKey> セクションに、同一の明示的なキーがある (つまり、<machineKey> セクションの属性に AutoGenerate オプションを使用していない) ことを確認してください。
詳細
以下の場合は、Web ファーム全体で machineKey セクションを同じにする必要があります。
関連情報
関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
301240
(http://support.microsoft.com/kb/301240/JA/
)
[HOW TO] C# .NET を使用して ASP.NET にフォーム ベースの認証を実装する方法
311495
(http://support.microsoft.com/kb/311495/JA/
)
C# .NET を使用して、ASP.NET アプリケーションにフォーム ベースの認証とロール ベースのセキュリティを実装する方法
306590
(http://support.microsoft.com/kb/306590/JA/
)
ASP.NET のセキュリティについて
307626
(http://support.microsoft.com/kb/307626/JA/
)
ASP.NET の構成の概要
プロパティ文書番号: 312906 - 最終更新日: 2005年10月13日 - リビジョン: 3.7 この資料は以下の製品について記述したものです。
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。" | サポート技術情報の翻訳
|










