2017-04-17 4 views
0
FUNCTION my_auth (
    p_username IN varchar2, 
    p_password IN varchar2) 
RETURN BOOLEAN AS 
    found number := 0; 
BEGIN 
    SELECT 1 INTO FOUND FROM users 
      WHERE upper(email)=upper(p_username) 
      AND upper(password)=upper(p_password) 
      AND is_activated=1; 
RETURN TRUE; 
EXCEPTION 
    WHEN NO_DATA_FOUND THEN 
RETURN FALSE; 
END; 

/*私は今3人のユーザー 'admin'、 'guest'、 'other' を持っており、次の権限管理を持っています。 別のユーザーが申請書に署名して、その認可となるものを入力します。 私は彼に自動的に編集権限が割り当てられてほしいです。すべての新規ユーザーが編集権限を取得します。どうすればいいですか?*/新規ユーザーの認証スキームはどのようになりますか? oracle apex内の

答えて

0

機能的な必要性に応じて、さまざまな認可スキームを作成できます。 たとえば、あなたは、このような

FUNCTION create_auth (p_username IN varchar2, 
         p_password IN varchar2) 
    RETURN BOOLEAN AS 
    found number := 0; 
BEGIN 
    SELECT 1 INTO FOUND FROM users 
     WHERE upper(email)=upper(p_username) 
     AND upper(password)=upper(p_password) 
     AND is_activated=1 
     AND ROLE='create'; 
    RETURN TRUE; 
EXCEPTION 
    WHEN NO_DATA_FOUND THEN 
RETURN FALSE; 
END; 

上記の機能は、役割に基づいてユーザに存在する真/偽を返すなど、読み取り専用、削除、更新を作成するためなど、さまざまな認証スキームを作成することができます。 同様に、edit_auth(認可)を作成して、ユーザーの役割を編集/更新し、その権限をページの編集可能なコンポーネントに適用することができます。 承認の詳細については、http://docs.oracle.com/cd/E59726_01/doc.50/e39147/sec_authorization.htm#HTMDB25783

をご確認ください。こちらがお手伝いします。

関連する問題