ヘッダーをスキップ

Oracle Database 2日で.NET開発者ガイド
11g リリース1(11.1)

E05695-02
目次
目次
索引
索引

戻る 次へ

7 Oracle DatabaseでのASP.NETの使用

この章の内容は次のとおりです。

概要: Oracle Developer ToolsでのASP.NETアプリケーションの作成

OracleをMicrosoft ASP.NETと直接統合する方法は多くあります。

このチュートリアルでは、Oracle Developer Toolsを使用したデータ駆動型Webアプリケーションの作成方法、Oracle Providers for ASP.NETを使用した単純な方法でのデータ駆動型Webアプリケーションへのセキュリティの追加など、いくつかの機能を示します。

まず、ツールを使用して、Oracle Databaseからデータ・グリッドに従業員データを取得するWebアプリケーションを作成します。次に、ログイン・コントロールを追加し、認可されたWebユーザーにのみこの従業員情報へのアクセスを許可することでアプリケーションを保護します。最後に、Oracle Providers for ASP.NETを使用して認可されたWebユーザーを作成します。これらのWebユーザーは、このアプリケーションでの認証用にOracle Database内に格納されます。

このチュートリアルを開始する前に

Oracle Developer ToolsでASP.NETアプリケーションを作成する前に、後続の項で説明する設定を実行する必要がある場合があります。

Webサイトの作成およびデータベースへの接続

この項では、Oracle Databaseからデータを取得するASP.NET Webサイトの作成方法について説明します。WebサイトのASP.NET GridViewにデータが表示されるため、ユーザーは結果をページごとに確認できます。

この項の内容は次のとおりです。

ASP.NET Webサイトの作成

グリッド付きのASP.NET Webサイトを作成するには、次の手順を実行します。

  1. Visual Studioを起動します。

  2. 「File」メニューから、「New」「Web Site...」を選択します。


    画像の説明

  3. 「New Web Site」から、「ASP.NET Web Site」を選択し、Webサイトのディレクトリの場所を入力するか、または参照します。「OK」をクリックします。


    画像の説明

  4. 「Default.aspx」タブで、画面の下部の「Design」アイコンをクリックします。


    画像の説明

  5. 点線の矩形として表示される<div>要素に、Employees Listなどのタイトルを入力します。


    画像の説明

  6. 「View」メニューから「Toolbox」を選択します。


    画像の説明

  7. 「Data」グループを展開して、GridViewコントロールをデザイナの<div>とラベル付けされた点線の矩形にドラッグします。


    画像の説明

  8. 仮のタイトルおよびコンテンツが含まれているグリッドが表示されると、その右側にGridViewタスク・リストが表示されます。


    画像の説明

    このタスク・リストが表示されない場合は、グリッドを選択した後、右側の>記号をクリックします。


    画像の説明

データソースの作成

データソースを作成するには、次の手順を実行します。

  1. 「GridView Tasks」で、前の項の手順8に示す「Choose Data Source」リストから<New data source...>を選択します。

    「Data Source Configuration Wizard」が表示されます。

  2. 「Database」を選択します。データソースのIDとしてHRと入力します。「OK」をクリックします。


    画像の説明

  3. 下矢印をクリックして、リストからHR.ORCLを選択します。「Next」をクリックします。


    画像の説明

  4. 「Next」をクリックして、接続文字列をアプリケーション構成ファイルに保存します。


    画像の説明

  5. 「Name」リストからEMPLOYEES表を選択します。「Columns」リストで、アスタリスク(*)の横のボックスを選択します。

    これらを選択すると、SELECT * FROM EMPLOYEESと入力した場合と同様に、OracleによってEMPLOYEES表からすべての行が戻されます。

    「Next」をクリックします。


    画像の説明

  6. 「Test Query」をクリックします。


    画像の説明

  7. 「Test Query」の結果が表示されたら、「Finish」をクリックします。


    画像の説明

  8. 「GridView Tasks」から、「Enable Paging」を選択します。このタスク・リストが表示されない場合は、グリッドを選択した後、右側の>記号をクリックします。右にスクロールする必要がある場合があります。


    画像の説明

  9. 「View」メニューから、「Solution Explorer」を選択し、Webサイトを選択します。右クリックして「Build Web Site」を選択します。ステータス・バーに、成功または失敗が示されます。

  10. 「View」メニューから、「Debug」「Start Without Debugging」を選択します。

    次に示すようなブラウザ・ウィンドウが表示され、問合せでリクエストされたデータが示されます。ページの左下のセクションの番号を使用して、結果をページごとに確認できます。


    画像の説明

  11. ブラウザを閉じます。

認証用のWebサイトの有効化

この項では、Webサイト認証を追加して従業員データにアクセスできるユーザーを制限する方法について説明します。ASP.NETログイン・コントロールを使用し、Oracle Providers for ASP.NETで作成および格納したユーザーに対する検証によって認証を行います。

「Oracle Providers for ASP.NETの有効化および軽量Webユーザーの作成」では、作成したばかりのASP.NETアプリケーションを使用して、認可されたユーザーが情報にアクセスできるようにして従業員データを保護します。Oracle Providers for ASP.NETを使用してアプリケーションのWebユーザーを作成します。このWebユーザーは、ログイン・コントロールを使用してWebアプリケーションを起動し、証明が正しい場合に、従業員情報にアクセスできます。

  1. 前の項で作成したWebサイトを再度開きます。

  2. 「View」「Solution Explorer」を選択して、Webサイトをクリックします。


    画像の説明

  3. Webサイトを右クリックし、「Add New Item」を選択します。


    画像の説明

  4. 「Web Form」を選択して、名前login.aspxを入力して、「Add」をクリックします。


    画像の説明

  5. login.aspxページが表示されたら、「Design」タブに切り替えます。

  6. 「View」メニューから、「Toolbox」を開き、「Login」セクションを展開してログイン・コントロールをフォーム上の<div>とラベル付けされた点線の矩形にドラッグ・アンド・ドロップします。


    画像の説明

    これが標準ASP.NETログイン・コントロールです。これによって、Oracle Databaseに格納されているユーザー・ログイン資格証明を取得して検証できます。

  7. ログイン・コントロールを右クリックして「Properties」を選択します。「DestinationPageUrl」で、Default.aspxを選択または入力します。

    ユーザーがログインに成功すると、従業員データが含まれるDefault.aspxページが表示されます。ログインに成功しなかった場合は、ログイン・ページにリダイレクトされます。


    画像の説明

Oracle Providers for ASP.NETの有効化および軽量Webユーザーの作成

この項では、ASP.NET Webサイト管理ツールを使用して次の操作を行います。

WebサイトでOracle ASP.NETプロバイダを使用して新しいWebユーザーを作成するには、次の手順を実行します。

  1. Visual Studioで、「Website」「ASP.NET Configuration」を選択します。


    画像の説明

  2. ASP.NET Webサイト管理ツールが表示されたら、「Provider」タブを選択します。


    画像の説明

  3. 「Provider」ページで、2番目のリンク「Select a different provider for each feature (advanced)」を選択します。


    画像の説明

  4. 「Provider」ページが再度表示されたら、メンバーシップ・プロバイダおよびロール・プロバイダをOracleバージョンに変更します(これらのプロバイダが選択されていない場合)。


    画像の説明

  5. 「Security」タブに移動し、「Users」で「Select authentication type」をクリックします。

    デフォルトでは、ASP.NETサイトでユーザーの識別にWindows認証が使用されます。サイト固有のログインおよびパスワードでユーザーを識別するWebサイトを作成します。したがって、ログインおよびパスワードの使用に対応するようにサイトを構成する必要があります。


    画像の説明

  6. 「Security」ページが再度表示されたら、「From the internet」を選択して「Done」をクリックします。


    画像の説明

  7. 「Users」に新しいリンクが示された「Security」タブが再度表示されたら、「Create user」を選択します。


    画像の説明

  8. 「Create User」セクションで、Webサイトへのアクセスを許可するユーザーの情報を次のように入力します。パスワードは、英数字以外の文字を1文字含む7文字以上で指定します。

    「Create User」をクリックします。


    画像の説明

  9. アカウントが正常に作成されたことを示す「Security」ページが再度表示されたら、「Security」タブをクリックします。


    画像の説明

    注意: この画面には、他のユーザーの作成を続けるオプションや、別のタブに移動するオプションがあります。

  10. 「Security」メイン・ページが再度表示されたら、「Access Rules」で、「Manage access rules」を選択します。


    画像の説明

    注意: 現在、「Users」には既存ユーザーが1人表示されています。

  11. 「Security」タブに「Manage Access Rules」セクションが表示されたら、「Add new access rule」をクリックします。


    画像の説明

  12. 「Anonymous users」および「Deny」を選択してから「OK」をクリックします。

    デフォルトでは、Webサイトへの匿名アクセスが有効になっています。前述の設定で、匿名アクセスを無効にすることによってWebサイトを保護します。これで、認証されたユーザーのみが従業員データを表示できるようになります。


    画像の説明

  13. 現在「Security」ページは、サイトへの匿名ユーザーのアクセスがWebサイトによって拒否されることを示しています。

    「Done」をクリックします。


    画像の説明

  14. ブラウザを閉じます。

Webサイト認証のテスト

このWebサイトに固有のWebユーザーが作成されたので、Webサイトでは、このユーザーによる従業員データへのアクセスが許可され、匿名ユーザーを含むその他のすべてのユーザーによるアクセスは拒否されるようになります。

この項では、匿名ユーザー、不正ユーザー、間違ったパスワードを使用する認可されたユーザー、正しいパスワードを使用する認可されたユーザーとして従業員データにアクセスしてみます。最後のシナリオでのみ、従業員データへのアクセス権がWebサイトから付与されます。


注意:

ASP.NETプロバイダ・ユーザーに対して10分間に5回以上連続して無効なパスワードを入力すると、不正ユーザーがパスワードを推測してアクセスできないようにアカウントがロックされます。Oracle Membership Providerでは、MaxInvalidPasswordAttempts(デフォルト: 5回)およびPasswordAttemptWindow(デフォルト: 10分)というプロパティによってこれらのセキュリティ・メジャーを設定します。これらのプロパティは、machine.configファイルまたはweb.configファイルで変更できます。

アカウントがロックされた場合は、UnlockUserメソッドをコールしてユーザーのロックを解除できます。 


  1. 「Debug」メニューから、「Start Without Debugging」を選択し、ログインWebページが表示されたら、末尾がlogin.aspxではなくDefault.aspxになるようにURLを変更して[Enter]キーを押します。


    画像の説明

    アクセスが拒否され、ログイン・ページにリダイレクトされます。これは、匿名ユーザーがWebサイトを参照できず、資格証明を持つユーザーのみがアクセスできることを示します。


    画像の説明

    認証メカニズムを試す場合は、この手順を繰り返すか、または様々な操作を試してみます。様々な操作で、新しいブラウザを起動するか、またはブラウザ・キャッシュを消去します。Webページはブラウザにキャッシュされるため、Default.aspxに再度アクセスすると、キャッシュされたそのWebページが表示される場合があります。これは意図された動作ではなく、Webページは、新しいブラウザ・インスタンスを使用するか、またはブラウザ・キャッシュを消去することによって完了するASP.NETプロバイダ認証プロセスを実行する必要があります。

  2. URLのlogin.aspxの後のテキストを削除します。これによって、URLは最初にサイトにアクセスしたときの元の状態に戻ります。

    ユーザー名Bob、および英数字以外の文字を1文字含む7文字以上のパスワードを入力します。

    「Log In」をクリックします。


    画像の説明

    「Your login attempt was not successful. Please try again.」というメッセージが示されたページが表示されます。

    Bobは認可されたユーザーではありません。このユーザーによるアクセスはWebサイトによって適切に拒否されました。

  3. ユーザー名Anneを、このWebサイト・ユーザーに対しては無効なパスワードを使用して入力します。

    「Log In」をクリックします。


    画像の説明

    スクリーンショットに示すように、このユーザーによるアクセスは拒否され、このユーザーの資格証明がOracle Membership Providerに格納された資格証明では検証できなかったことが示されます。

  4. このWebサイト・ユーザーの正しいパスワードを入力します。

    「Log In」をクリックします。

    従業員データが表示されます。これによって、認可されたユーザーのみがデータにアクセスできることが示されます。このように、Oracle Providers for ASP.NETでは、非常に単純な方法でWebサイトのセキュリティが提供されています。

これで、データ駆動型のASP.NET Webアプリケーションが作成されました。このアプリケーションによって、認証が行われ、データベースから従業員データが取得されます。


戻る 次へ
Oracle
Copyright © 2009 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引