戻る 進む

第16章: 認証データの保存

ユーザが認証機能によってアクセスを許可された後、RealServerはユーザが特定のプレゼンテーションまたはプレゼンテーションのディレクトリを見るパーミッションを持つかどうかチェックすることができます。ペイパービューなどのアプリケーションにこの情報を使うことができます。

概要

認証機能を使うとき、パーミッション情報は別個のデータベースに保存されています。本章では認証機能といっしょに使えるデータ保存法を説明します。

RealServer データ保存

アクセスしてきたユーザを認証するために、RealServerはユーザIDとパスワードまたはクライアントID、それらに関連づけられたアクセスパーミッション情報を保存します。クライアントがクリップにアクセスしようとすると、RealServerはこの情報をルックアップして、クライアントまたはアクセスするユーザがそのクリップの閲覧を許可されているかどうか確認します。この情報はテキストファイルまたはデータベースのどちらにも保存できます。一般データベースのテンプレートはインストール中にインストールされます。

RealServerにはテキストファイルとデータベースの2つの方法が使用されます。テキストファイル保存法は、ディレクトリ構造とテキストファイルの組み合わせを使って効果的なデータ保存法を実現します。これはデフォルトの方法です。RealServerに含まれるデータベーステンプレートは、テキストファイル方式と同様の構造を、よりなじみのあるデータベース形式で使います。

テキストファイルの使用

デフォルト設定はテキストファイル法を使って、3つのデフォルトのレルムすべてを保存します。

以下のディレクトリには、データを保存するテキストファイルが入っています。真ん中の文字は認証プロトコルを表します。rはRN5、bはBasicです。

提供されたデータ保存ディレクトリ
ディレクトリ名 以下のタイプの情報についてデータ保存
enc_r_db エンコーダユーザ認証
adm_b_db RealSystem Administrator ユーザ認証
con_r_db コンテンツ認証

ディレクトリのコンテンツを下のテーブルに表示しています。

テキストファイル保存ディレクトリ構造
ディレクトリ コンテンツ ファイルまたはディレクトリの説明
メインディレクトリ(con_r_db、enc_r_db、 または_adm_b_db ppvbasic.txt テキストファイルは、これが認証済みの名前のリストを保存するエリアであることをRealServerに示します。
users (最初は空白) このディレクトリのファイルは、クリップとパーミッションタイプを表示します。
guids (最初は空白) player認証について、ファイルはユーザ名でclientIDに接続します。
logs reglog.txt
accesslog.txt
これらのファイルの説明は下を参照してください。
redirect (最初は空白) player認証について、ファイルにはリダイレクトが必要な場合に、クライアントへの送り先となるURLが入っています。

メモ
手動でファイルを編集する場合は、空白(または未使用) フィールドには必ずアステリスク(*)とセミコロン(;)をプ レースホルダに使ってください。スペースは使用できません。

RealServerの最初のインストール時には、実際のデータ保存テキストファイルは存在しません。それらのテキストファイルは認証を使って、保護コンテンツが最初にリクエストされるときに作成されます。ファイル構造が作成されると、RealServerはppvbasic.txt ファイルを作成します。二度目およびそれ以降にRealServerを起動すると、RealServerはこのファイルを探します。ファイルが存在しない場合は、ディレクトリ構造を作成し直します。

警告
ppvbasic.txtファイルを削除しないでください。ppvbasic.txt ファイルを削除すると、RealServerはディレクトリを置き換え て、以前の中身を消去します。

ユーザディレクトリ

このディレクトリのファイルはusernameという名前になり、username のところがユーザ名になります。このディレクトリには登録ユーザごとに1つのファイルが入っています。

各ファイルの一行目は以下のような形式で、ファイルの後続行とは異なります。


password;uuid;uuid_writeable

各項目の説明 は以下の通りです:

password ユーザ認証を使うとき、ここにパスワードが保存されます。そうでない場合、アステリスク(*)が表示されます。
メモ:パスワードは暗号化されています。「パスワードツールによるRN5認証下のパスワード変更」を参照してください。
uuid player認証で、playerIDが保存されます。ユーザ認証ではこのフィールドにアステリスク(*)が表示されます。
uuid_writeable RealServerが設定して使用するフラグ。
0の場合、playerIDはデータベースにあります。
1の場合、レコードは作成されたが、playerIDは未登録であることを示します。

各ファイルの二行目以降は以下の形式となります(各フィールドの許容値については、本章のこの後に出てくるデータベース構造を参照してください)。


url;url_type;permission_type;expires;debitted_time

url 保護ディレクトリまたはクリップのURL
url_type URLがディレクトリかクリップかを示す
0クリップ
1ディレクトリ。
permission_type アクセスに関連づけられたパーミッションタイプ値については表「パーミッションのタイプ」を参照してください。
expires permission_type1の場合、これはMM/DD/YYYY:HH:MM:SS形式の有効期限日時です。そうでない場合は空白のままです。
debitted_time permission_type2の場合、これは残り時間(秒)を表します。permission_type3の場合、これはアクセスしたユーザがマテリアルを見た時間が秒で表されます。そうでない場合は空白のままです。
各項目の説明 は以下の通りです:

ここで挙げるファイルの例、user1では、player認証が使われていると以下のように表示されます:


*;00001d00-0901-11d1-8b06-00a024406d59;0
Secure/clip1.rm;0;0;*;*
Secure/directory;1;0;*;*
Secure/time.rm;0;2;*;300;*
Secure/time.rm;0;1;05/24/1970:06:12:32;300;*

Guidsディレクトリ

このディレクトリのファイルには、登録したクライアントの一意のクライアントID名が登録ユーザごとに1つついています。各ファイルには関連づけられたユーザ名が入っています。たとえば、00001d00-0901-11d1-8b06-00a024406d59などのファイルにはuser1というユーザ名が入っています。

Logsディレクトリ

このディレクトリには reglog.txtaccesslog.txtの2つのファイルが入っています。

reglog.txt

reglog.txtの各行はアクセスしようとしたユーザの登録記録を表しています。このファイルは以下のような形式を取ります:


status;userid;uuid;IP;register_time;url_redirect

各項目の説明は以下の通りです:

status 接続を試みたユーザの記録0接続成功1接続失敗(clientIDが読み取り不可)2接続失敗(clientIDが既に使用されている)3接続失敗 (RealAudio Playerバージョン 3.0以前) 4ユーザが見つからない(データベースへの事前入力が必要)5一般エラー
userid 最大50文字までの一意の名前。
uuid clientIDの保存先。
IP ユーザが接続を試みるIPアドレス。
request_time 接続リクエストを出した時刻。
url_redirect 接続に失敗した場合、ユーザがリダイレクトしたURL(redirect.txtを参照してください)。

Accesslog.txt

accesslog.txtの各行はクリップを見ようとしたユーザの記録を表します。このファイルのシンタックス:


status;userid;uuid;ip;url;access_type;permission_on;start_time;end_time;total_time;
why_disconnect

各項目の説明は以下の通りです:

status 接続しようとするユーザの記録:
0 クリップへのアクセスが承認された場合
1 拒否された場合
userid 最大50文字までの一意の名前。
uuid playerIDの保存先。
ip ユーザが接続を試みているIPアドレス。
url ユーザがアクセスしようとしている保護クリップ。
permission_type アクセスに関連づけられたパーミッションタイプ値については表「Permissionsテーブル」を参照してください。
permission_on urlに関連づけられたパーミッションタイプ
0ファイル(個々のクリップ)
1ディレクトリ
2なし
start_time クリップの再生開始日時。
end_time クリップの再生終了日時。
total_time クリップの再生合計時間。
why_disconnect 接続切断の理由:
0 クライアントが自発的に接続を切断した場合
1サーバアクセスの有効期限が切れた場合

Redirectディレクトリ

player認証だけで使われるredirect ディレクトリには、承認されていないユーザはアクセスできないURL名がついたファイルが入っています。各ファイルには、ユーザが制限付きURLをクリックするとRealServerがユーザに送る代替URLがあります。このディレクトリに何のファイルも存在しない場合、アクセスを与えられていないURLをクリックしようとすると、ユーザはエラーメッセージを受け取ります。

URLに出てくる文字のなかにはファイル名として不正なものがあるので、RealServerはこの不正記号の代わりを要求します。

代替文字
URL内の文字 置換される文字列

/

+2f

\

+2b

+

+5c

したがって、「Secure/TopSecret.rm」というURLはSecure+2fTopSecret.rmに変換されます。

ただし、各ファイル内ではURLは通常通り表示されます。

データベースの使用

本セクションではRealServerに入っているデータベーステンプレート構造を説明します。

データベースをセットアップするには、「他のタイプのデータ保存のセットアップ」を参照してください。

データベーステンプレートには5つのテーブルが入っています:

Usersテーブル

ユーザ名とパスワードのリストを表示します。

Usersテーブル 
フィールド 説明
userid 最大50文字までのユーザ名。permissionsテーブルにリンクしています。
password ユーザ認証では、ここにパスワードを保存します。そうでない場合は空白のままです。パスワードは暗号化されています。
uuid player認証で、clientIDを保存します。ユーザ認証ではこのフィールドにアステリスク(*)が表示されます。
uuid_writeable RealServerで設定して使用するフラグ。
0 clientIDはデータベースにあります。
1レコードは作成されたが、clientIDは未登録であることを示します。 RealServer.

Permissionsテーブル

useridからusers テーブルにリンクし、特定のリンクまたはディレクトリおよびそれぞれのアクセスタイプを識別します。

Permissionsテーブル 
フィールド 説明
userid 最大50文字までのユーザ名。Usersテーブルにリンクしています。
url 保護ディレクトリまたはクリップのURL。
url_type URLがディレクトリかクリップかを示す:
0クリップ
1ディレクトリ
permission_type アクセスに関連づけられたパーミッションタイプ。値については表「パーミッションのタイプ」を参照してください。
expires パーミッションの有効期限日時をMM/DD/YYYY:HH:MM:SSの形式で表します。permission_type1(期限付き)の場合だけ使います。そうでない場合は空白のままです。
debitted_time permission_type = 2 (カウントダウン)の場合、これは残り秒数を表します。permission_typeが3(カウントアップ)の場合、これはアクセスしたユーザがマテリアルを見た秒数を表します。そうでない場合は空白のままです。

Register_Logテーブル

register_logテーブルはplayer認証を使う場合だけ使います(UseGUIDValidation=Trueで示す)

Register_Logテーブル 
フィールド 説明
status 接続しようとするユーザの記録:0接続成功1接続失敗(clientIDが読み取り不可)2接続失敗(clientIDが既に使用されている)3接続失敗(RealAudio Playerバージョン3.0以前)4ユーザが見つからない(データベースへの事前入力が必要)5一般エラー
userid 最大50文字までの一意の名前。
uuid clientIDの保存先。
ip ユーザが接続を試みるIPアドレス。
request_time 接続リクエストを出した時刻。
url_redirect 接続に失敗した場合、ユーザがリダイレクトしたURL(次のRedirect テーブルを参照してください)。

Redirectテーブル

Redirectテーブル
フィールド 説明
url 任意の保護クリップまたはディレクトリのURL。
url_redirect ユーザがそのクリップへアクセスを許可されない場合にリダイレクトできるURL。新しいURLは保護URLであってはいけません。
Redirectテーブルはplayer認証のみで使います。

Access_logテーブル

commerce機能で、どの保護コンテンツにアクセスがあったか示すのに使います。

Access_logテーブル 
フィールド 説明
status 接続しようとするユーザの記録
0クリップへのアクセスが承認された場合
1 拒否された場合
userid 最大50文字までの一意の名前
uuid playerIDの保存先
ip ユーザが接続を試みるIPアドレス
url ユーザがアクセスしようとする保護クリップ
permission_type アクセスに関連づけられたパーミッションタイプ。値については表「パーミッションのタイプ」を参照してください。
permission_on urlに関連づけられたパーミッションタイプ:
0ファイル(個別クリップ)
1ディレクトリ
2なし
start_time クリップの再生開始日時
end_time クリップの再生終了日時
total_time クリップの再生合計時間
why_disconnect 接続切断の理由:
0クライアントが自発的に接続を切断した場合
1サーバアクセスの有効期限が切れた場合

他のタイプのデータ保存のセットアップ

2つのタイプのデータベースがサポートされています。

WindowsコンピュータをODBC対応にセットアップするには:

  1. [スタート]メニューで[設定]を指し、[コントロール パネル]をクリックします。

  2. [ODBCデータソース(32ビット)]をダブルクリックします。

  3. [システム DSN]タブ[追加]をクリックします。

  4. ドライバのリストからお使いのODBCドライバを選んで[完了]をクリックします。

  5. [ODBC SQL Serverセットアップ]ダイアログボックスにデータソース名を入力します。[選択]をクリックします。

  6. データベースファイルのパスを入力または参照して[OK]をクリックします。

  7. [OK]をクリックして[ODBC データベースの管理者]を終了します。

今度はRealServerにお使いのデータベースの場所を示す必要があります。

UNIXにお使いのデータベースアプリケーションをセットアップするには:

  1. コマンドラインに以下のように入力して、データベースをスタートさせます:
    
    ./msql2d &
    

  2. 以下のように入力してデータベースを作成します:
    
    ./msqladmin create databasename
    

  3. databasenameに入力する名前はDatabasesリストに記載したデータベースと一致しなければならないことに注意してください。

  4. データベーステキストファイルで以下のように入力してテーブルを作ります:
    
    .msql -h localhost databasename < ppvdemo.db
    

    「小なり」記号(<)を必ず入れてください。


Copyright © 2000 RealNetworks
RealNetworksテクニカルサポート情報は、 ここをクリックしてください。
この文書に関するご意見は、 ここをクリック してください。
ファイル最終更新日 04/20/00更新時刻 10:13:11
戻る 進む