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;
/ *我现在有三个用户' admin',' guest'其他' 并且具有以下授权管理,仅查看,编辑。 如果另一个用户在申请中注册他/她的授权。 我希望他将自动分配编辑权限。所有新用户都将获得编辑权限。我怎么能这样做?* /
答案 0 :(得分: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;
以上函数根据用户存在的角色返回true / false。 同样,您可以创建edit_auth(授权),然后可以编辑/更新用户角色,然后可以将该授权应用于页面的可编辑组件。 有关授权的更多信息,请查看http://docs.oracle.com/cd/E59726_01/doc.50/e39147/sec_authorization.htm#HTMDB25783
希望这会对你有帮助!