sql >> データベース >  >> RDS >> Oracle

OracleForms10gでのカスタムログイン画面の作成

    以下は、ログイン資格情報を検証するためのplsqlユニットの例です。検証が成功した後、Oracleフォーム10gでいくつかのパラメータを渡して新しいフォームを開きます。
    カスタムログイン用のフォームを作成します。ユーザー名やパスワードなどのテキストアイテムとログインボタンを作成します。ユーザーがそのログインボタンをクリックしたら、このplsqlルーチンを呼び出します。

    宣言
    vPasswordfox_user.password%type; -ユーザーマスターテーブルからパスワードフィールドタイプを取得します
    plidparamlist;
    begin
    -ユーザー名がnullかどうかを確認します
    :appstart.usnがnullの場合
    error_message('ユーザー名を入力する必要があります。');
    go_item('appstart.usn');
    raise Form_Trigger_Failure;
    end if;
    -パスワードがnull
    if:appstart.psw is null then
    error_message('Password must enter。');
    go_item('appstart.psw');
    raise Form_Trigger_Failure;
    end if;
    パスワードをvpasswordに選択
    from fox_user
    where rtrim(userid)=rtrim(:appstart.usn);
    -独自の暗号化を使用してパスワードを復号化/復号化方法。
    -下記の復号化は私が使用したプログラムユニットです
    if:appstart.psw!=decode(vpassword)then
    error_message('ユーザーのパスワードが無効です。ログオンが拒否されました! ');
    go_item(' appstart.psw');
    raise form_trigger_Failure;
    end if;
    -有効なユーザー名とパスワードの場合呼び出しフォームを渡すためのパラメータリストを作成します
    plid:=get_parameter_list('formdata');
    if Not id_null(plid)then
    Destroy_parameter_list(plid);
    end if;
    plid:=Create_Parameter_list('formdata');
    Add_parameter(plid、'userid'、text_parameter、:appstart.usn);
    new_form('main'、full_rollback、no_query_only、plid);
    例外
    no_data_foundthen
    error_message('無効なユーザーID。有効なユーザーIDとパスワードを入力してください。ログオンが拒否されました!');
    go_item('appstart.usn');
    when too_many_rows then
    error_message('Internal error ...');
    when others then
    null;
    end;

    1. SQL Serverのスパース列:時間とスペースへの影響

    2. 列名のパラメーターを使用して順序付け

    3. MySQLとPHPで計算を行う

    4. Oracleを使用して、3つのテーブルをPIVOTで1つに結合します