正規表現を使用してカード番号の一部を抽出し、番号をあるフォーマットから別のフォーマットへ変換するのは一般的によくある要件です。
例えば、カード番号はソース(例:Active Directoryなど)に10進数形式で格納されているにもかかわらず、
カード・リーダでは16進数形式でカード番号を返す場合などがあります。
PaperCutにはカード番号のフォーマットを変換するためのビルトインのコンバータが含まれます。
注記: 多くのカード・リーダで設定可能です。
番号のフォーマットは設定ツールやユーティリティ経由でハードウェア・レベルの変更が可能です。
PaperCutのソフトウェア・レベルのコンバータは、
ハードウェア・レベルのコンフィギュレーションが提供されていないカード・リーダをサポートします。
またグローバルなソフトウェア・レベルの変換の方がよい場合があります。
例えば、100台以上のリーダを手動で再プログラミングするよりも、PaperCutの変換を使用するほうが早い場合などがあります。
正規表現と同じく、コンバータはPaperCut管理者Webインタフェースからグローバル・ベース(すべてのデバイスに適用)、
もしくはデバイス毎に定義することができます。
● グローバル・ベースで設定する場合
1. PaperCut 管理者用Webインタフェースへログインします。
2. <オプション>タブのアクション欄から「設定エディタ(応用)」を選択します。
● デバイス・ベースで設定する場合
1. PaperCut 管理者用Webインタフェースへログインします。
2. <デバイス>タブ - 「外部デバイス・リスト」から該当のデバイスを選択し、「デバイスの詳細」画面 - <設定エディタ(応用)>タブを選択します。
1. PaperCut 管理者用Webインタフェースへログインします。
2. <デバイス>タブ - 「外部デバイス・リスト」から該当のデバイスを選択し、「デバイスの詳細」画面 - <設定エディタ(応用)>タブを選択します。
4. 使用するコンバータを入力し、「更新」ボタンをクリックします。
※利用できるコンバータにつきましては、後述の「標準コンバータ」をご覧ください。
※利用できるコンバータにつきましては、後述の「標準コンバータ」をご覧ください。
● 標準コンバータ
利用できるコンバータは以下の通りです。
【hex2dec】
16進数のエンコード化されたカード番号を10進数の形式へ変換します。
16進数の番号には「0-9」と「A-F」が含まれます。
「946EBD28」は「2490285352」に変換されます。
【dec2hex】
10進数のカード番号を16進数形式に変換します。
「2490285352」は「946EBD28」に変換されます。
【ascii-enc】
ASCIIエンコード化されたカード番号の文字列を解凍します。
例えば、番号「3934364542443238」の場合、ASCIIコードは「39」→「9」、「34」→「4」、
「45」→「E」に変換されます。番号全体は「946EBD28」となります。
【javascript:<path>】
JavaScriptでカスタム変換関数を定義することができます。(詳細は弊社までお問い合わせください。)
連続して、もしくはパイプ(|)で区切ったパイプラインのコンバータの利用が可能です。
例えば、「ascii-enc | hex2dec」の場合、最初にエンコード化されたASCII番号を解凍し、その後10進数に変換します。
ヒント: どのコンバータを使用すればよいかわからない場合、すべてのコンバータを試してみてください。
カードをかざすと、PaperCut管理者用Webインタフェースの<ログ>タブ - <アプリケーション・ログ>タブのメッセージに
変換が適用された後の数値が表示されます。(システムはカードを推測することはできません。)
各種コンバータを試し、<アプリケーション・ログ>タブから結果の番号を確認してください。






0 件のコメント :
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。