| Oracle Application Server Portal PL/SQL API Reference - 10.1.2 | |||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||
| SUMMARY: EXCEPTION | TYPE | CONSTANT | VARIABLE | FUNCTION/PROCEDURE | DETAIL: EXCEPTION | TYPE | CONSTANT | VARIABLE | FUNCTION/PROCEDURE | |||||||
This package contains procedures and functions for administering OracleAS Portal 10G security. Using these security APIs you can perform the following operations:
| Exception Summary | |
ACCESS_DENIED_EXCEPTION | |
CIRCULAR_REFERENCE_EXCEPTION | |
DEPRECATED_API_EXCEPTION | |
DUPLICATE_GRANTEE_EXCEPTION | |
DUPLICATE_GROUP_EXCEPTION | |
GROUP_MEMBER_EXCEPTION | |
GROUP_NOT_FOUND_EXCEPTION | |
GROUP_NOT_UNIQUE_EXCEPTION | |
INVALID_ARGUMENT_EXCEPTION | |
INVALID_AUTH_FUNC_EXCEPTION | |
INVALID_GRP_NAME_EXCEPTION | |
INVALID_PERSON_ID_EXCEPTION | |
INVALID_SITE_EXCEPTION | |
LDAP_CONNECTION_EXCEPTION | |
NO_ACCESSIBLE_OBJECT_EXCEPTION | |
NO_MANAGER_EXCEPTION | |
ORG_NOT_EXIST_EXCEPTION | |
UNEXPECTED_EXCEPTION | |
USER_EXISTS_EXCEPTION | |
USER_NOT_DELETABLE_EXCEPTION | |
USER_NOT_FOUND_EXCEPTION | |
VALUE_ERROR_EXCEPTION | |
| Type Summary | |
array | table |
grantee_array | table |
grantee_record | record |
idarray | table |
list_array | table |
list_member_array | table |
list_member_record | record |
list_record | record |
privilege_array | table |
username_type | subtype |
| Constant Summary | |
ACCESS_PRIV | wwsec_sys_priv$.privilege%type |
ADD_CUSTOM_PRIV | wwsec_sys_priv$.privilege%type |
ALL_OBJECTS | wwsec_sys_priv$.name%type |
ANYGROUP_CREATE | number |
ANYGROUP_MANAGE | number |
ANYGROUP_OBJ | wwsec_sys_priv$.object_type_name%type |
ANYLOG_EDIT | number |
ANYLOG_MANAGE | number |
ANYLOG_OBJ | wwsec_sys_priv$.object_type_name%type |
ANYLOG_VIEW | number |
ANYPAGE_ADD_ONLY_CUSTOM_CNT | number |
ANYPAGE_CREATE | number |
ANYPAGE_FULL_CUSTOM_CNT | number |
ANYPAGE_HIDE_SHOW_CUSTOM_CNT | number |
ANYPAGE_MANAGE | number |
ANYPAGE_MANAGE_CNT | number |
ANYPAGE_MANAGE_CNT_WITH_APP | number |
ANYPAGE_MANAGE_STYLE | number |
ANYPAGE_OBJ | wwsec_sys_priv$.object_type_name%type |
ANYPAGE_STYLE_CUSTOM | number |
ANYPAGE_VIEW | number |
ANYPORTLET_ACCESS | number |
ANYPORTLET_EDIT | number |
ANYPORTLET_EXECUTE | number |
ANYPORTLET_MANAGE | number |
ANYPORTLET_OBJ | wwsec_sys_priv$.object_type_name%type |
ANYPORTLET_PUBLISH | number |
ANYPROVIDER_CREATE | number |
ANYPROVIDER_EDIT | number |
ANYPROVIDER_EXECUTE | number |
ANYPROVIDER_MANAGE | number |
ANYPROVIDER_OBJ | wwsec_sys_priv$.object_type_name%type |
ANYPROVIDER_PUBLISH | number |
ANYSCHEMA_CREATE | number |
ANYSCHEMA_INSERT | number |
ANYSCHEMA_MANAGE | number |
ANYSCHEMA_MODIFY | number |
ANYSCHEMA_OBJ | wwsec_sys_priv$.object_type_name%type |
ANYSCHEMA_VIEW | number |
ANYSITE_CREATE | number |
ANYSITE_MANAGE | number |
ANYSITE_MANAGE_CLASSIFICATION | number |
ANYSITE_MANAGE_STYLE | number |
ANYSITE_MANAGE_TEMPLATE | number |
ANYSITE_MANAGE_TRANSLATION | number |
ANYSITE_OBJ | wwsec_sys_priv$.object_type_name%type |
ANYSITE_VIEW | number |
ANYSTYLE_CREATE | number |
ANYSTYLE_MANAGE | number |
ANYSTYLE_OBJ | wwsec_sys_priv$.object_type_name%type |
ANYSTYLE_PUBLISH | number |
ANYSTYLE_VIEW | number |
ANYTRANSPORTSET_EXECUTE | number |
ANYTRANSPORTSET_MANAGE | number |
ANYTRANSPORTSET_OBJ | wwsec_sys_priv$.object_type_name%type |
ANYUSER_CREATE | number |
ANYUSER_MANAGE | number |
ANYUSER_OBJ | wwsec_sys_priv$.object_type_name%type |
CREATE_PRIV | wwsec_sys_priv$.privilege%type |
CUSTOMIZE_PRIV | wwsec_sys_priv$.privilege%type |
DOCUMENT_MANAGE | number |
DOCUMENT_OBJ | wwsec_sys_priv$.object_type_name%type |
DOCUMENT_OWN | number |
DOCUMENT_VIEW | number |
EDIT_PRIV | wwsec_sys_priv$.privilege%type |
EXECUTE_PRIV | wwsec_sys_priv$.privilege%type |
FULL_CUSTOM_PRIV | wwsec_sys_priv$.privilege%type |
GLOBAL_GROUP | number(1) |
GRANTEE_GROUP | wwsec_sys_priv$.grantee_type%type |
GRANTEE_USER | wwsec_sys_priv$.grantee_type%type |
GROUP_AUTHENTICATED_USERS | number(1) |
GROUP_DBA | number(1) |
GROUP_IPORTAL_ADMINISTRATORS | number(1) |
GROUP_OBJ | wwsec_sys_priv$.object_type_name%type |
GROUP_OWN | number |
GROUP_PORTAL_PUBLISHERS | number(1) |
GROUP_TYPE_LIST | wwsec_group$.group_type%type |
GROUP_TYPE_ORG | wwsec_group$.group_type%type |
GROUP_WEBDB_ADMINISTRATORS | number(1) |
HIDDEN | number(1) |
HIDE_SHOW_CUSTOM_PRIV | wwsec_sys_priv$.privilege%type |
INSERT_PRIV | wwsec_sys_priv$.privilege%type |
ITEM_MANAGE | number |
ITEM_OBJ | wwsec_sys_priv$.object_type_name%type |
ITEM_OWN | number |
ITEM_VIEW | number |
LOV_EDIT | number |
LOV_EXECUTE | number |
LOV_OBJ | wwsec_sys_priv$.object_type_name%type |
MANAGE_CLASSIFICATION_PRIV | wwsec_sys_priv$.privilege%type |
MANAGE_CNT_PRIV | wwsec_sys_priv$.privilege%type |
MANAGE_CNT_WITH_APP_PRIV | wwsec_sys_priv$.privilege%type |
MANAGE_PRIV | wwsec_sys_priv$.privilege%type |
MANAGE_STYLE_PRIV | wwsec_sys_priv$.privilege%type |
MANAGE_TEMPLATE_PRIV | wwsec_sys_priv$.privilege%type |
MEMBER_TYPE_GROUP | wwsec_member$.member_type%type |
MEMBER_TYPE_USER | wwsec_member$.member_type%type |
MENU_EXECUTE | number |
MENU_OBJ | wwsec_sys_priv$.object_type_name%type |
MODIFY_PRIV | wwsec_sys_priv$.privilege%type |
NAVBAR_OBJ | wwsec_sys_priv$.object_type_name%type |
NAVBAR_OWN | number |
NO_PRIVILEGE | number |
NOT_HIDDEN | number(1) |
NOT_OWNER | number(1) |
OWN_PRIV | wwsec_sys_priv$.privilege%type |
OWNER | number(1) |
PAGE_ADD_ONLY_CUSTOM_CNT | number |
PAGE_FULL_CUSTOM_CNT | number |
PAGE_HIDE_SHOW_CUSTOM_CNT | number |
PAGE_MANAGE | number |
PAGE_MANAGE_CNT | number |
PAGE_MANAGE_CNT_WITH_APP | number |
PAGE_MANAGE_STYLE | number |
PAGE_OBJ | wwsec_sys_priv$.object_type_name%type |
PAGE_STYLE_CUSTOM | number |
PAGE_VIEW | number |
PORTLET_ACCESS | number |
PORTLET_EDIT | number |
PORTLET_EXECUTE | number |
PORTLET_MANAGE | number |
PORTLET_NON_LOCAL_ACCESS | number |
PORTLET_NON_LOCAL_EXECUTE | number |
PORTLET_NON_LOCAL_MANAGE | number |
PORTLET_NON_LOCAL_PUBLISH | number |
PORTLET_NONLOCAL_OBJ | wwsec_sys_priv$.object_type_name%type |
PORTLET_OBJ | wwsec_sys_priv$.object_type_name%type |
PORTLET_PUBLISH | number |
PROVIDER_EDIT | number |
PROVIDER_EXECUTE | number |
PROVIDER_MANAGE | number |
PROVIDER_OBJ | wwsec_sys_priv$.object_type_name%type |
PROVIDER_PUBLISH | number |
PUBLISH_PRIV | wwsec_sys_priv$.privilege%type |
SCHEMA_ADMIN | number(1) |
SCHEMA_BROWSEIN | number |
SCHEMA_BUILDIN | number |
SCHEMA_OBJ | wwsec_sys_priv$.object_type_name%type |
SCHEMA_OWNER | number(1) |
SEARCH_SUBTYPE_GROUP | varchar2(30) |
SEARCH_SUBTYPE_USER | varchar2(30) |
SEARCH_TYPE_UG | varchar2(30) |
SITE_MANAGE | number |
SITE_MANAGE_CLASSIFICATION | number |
SITE_MANAGE_STYLE | number |
SITE_MANAGE_TEMPLATE | number |
SITE_MANAGE_TRANSLATION | number |
SITE_OBJ | wwsec_sys_priv$.object_type_name%type |
SITE_SEPARATOR | varchar2(1) |
SITE_VIEW | number |
STYLE_CUSTOM_PRIV | wwsec_sys_priv$.privilege%type |
USER_PUBLIC | number(1) |
VIEW_PRIV | wwsec_sys_priv$.privilege%type |
WORKFLOW_EXECUTE | number |
WORKFLOW_MANAGE | number |
WORKFLOW_STATUS | number |
WORKFLOW_STATUS_AND_EXECUTE | number |
| Variable Summary | |
empty | array |
emptyidarray | idarray |
| Function/Procedure Summary | |
accessible_objects | array |
accessible_objects | array |
activate_portal_user | |
add_group_to_list | |
add_portal_user | number |
add_user_to_list | |
clear_package_cache | |
copy_privileges | |
create_list | number |
db_user | varchar2 |
deactivate_portal_user | |
delete_group_from_list | |
delete_list | |
delete_portal_user | |
delete_user_from_list | |
get_authorization_function | varchar2 |
get_defaultgroup | number |
get_granted_group_privilege | varchar2 |
get_granted_user_priv_code | number |
get_granted_user_privilege | varchar2 |
get_list_members | wwsec_api.list_member_array |
get_manager | varchar2 |
get_member_record | wwsec_member$%rowtype |
get_privilege_level | number |
get_public_objects | array |
grantee_list | grantee_array |
group_id | number |
group_info | wwsec_group$%rowtype |
group_name | varchar2 |
has_privilege | boolean |
has_privilege | boolean |
has_privilege | boolean |
id | number |
id_sso | number |
is_group_owner | number |
is_privilege_at_least | boolean |
is_privileged_by_auth_function | boolean |
is_user_in_direct_group | boolean |
is_user_in_group | boolean |
list_id | number |
lists | wwsec_api.list_array |
modify_portal_user | |
person_info | wwsec_person%rowtype |
person_info | wwsec_person%rowtype |
privilege_list | privilege_array |
publish_group | |
remove_group_acl | |
remove_user_acl | |
set_authorization_function | |
set_defaultgroup | |
set_group_acl | |
set_user_acl | |
update_group_acl | |
update_group_owner | |
update_list | |
update_user_acl | |
update_user_owner | |
user_in_groups | idarray |
user_name | varchar2 |
users_in_group | array |
| Exception Detail |
ACCESS_DENIED_EXCEPTION exception
CIRCULAR_REFERENCE_EXCEPTION exception
DEPRECATED_API_EXCEPTION exception
DUPLICATE_GRANTEE_EXCEPTION exception
DUPLICATE_GROUP_EXCEPTION exception
GROUP_MEMBER_EXCEPTION exception
GROUP_NOT_FOUND_EXCEPTION exception
GROUP_NOT_UNIQUE_EXCEPTION exception
INVALID_ARGUMENT_EXCEPTION exception
INVALID_AUTH_FUNC_EXCEPTION exception
INVALID_GRP_NAME_EXCEPTION exception
INVALID_PERSON_ID_EXCEPTION exception
INVALID_SITE_EXCEPTION exception
LDAP_CONNECTION_EXCEPTION exception
NO_ACCESSIBLE_OBJECT_EXCEPTION exception
NO_MANAGER_EXCEPTION exception
ORG_NOT_EXIST_EXCEPTION exception
UNEXPECTED_EXCEPTION exception
USER_EXISTS_EXCEPTION exception
USER_NOT_DELETABLE_EXCEPTION exception
USER_NOT_FOUND_EXCEPTION exception
VALUE_ERROR_EXCEPTION exception
| Type Detail |
type array is table of varchar2(2000) index by binary_integer
type grantee_array is table of grantee_record index by binary_integer
type grantee_record is record (
grantee_type wwsec_sys_priv$.grantee_type%type,
grantee_id number,
grantee_name wwsec_person$.user_name%type,
privilege wwsec_sys_priv$.privilege%type
)
grantee_type - indicates whether the privilege is granted to a
'USER' or a 'GROUP'grantee_id - the numeric identifier of the grantee - which may
be a user id or a group idgrantee_name - the name of the user or group represented by this
entryprivilege - the privilege granted to the user or grouptype idarray is table of number index by binary_integer
type list_array is table of list_record index by binary_integer
type list_member_array is table of list_member_record index by binary_integer
type list_member_record is record (
id wwsec_member$.id%type,
group_id wwsec_member$.group_id%type,
member_type wwsec_member$.member_type%type,
member_group_id wwsec_member$.member_group_id%type,
member_person_id wwsec_member$.member_person_id%type
)
id - an identifier for the member entrygroup_id - the identifier for the group to which this membership
belongsmember_type - indicates whether this membership entry is for a
GROUP member or a USER membermember_group_id - contains the identifier of the member group if the
member_type is GROUP; and is 0 otherwisemember_person_id - contains the identifier of the member user if the
member_type is USER; and is 0 otherwise
type list_record is record (
group_id wwsec_group$.id%type,
siteid wwsec_group$.site_id%type,
name wwsec_group$.name%type,
description wwsec_group$.description%type
)
group_id - the portal's numeric identifier for the groupsiteid - the numeric identifier for the content area to which the
group may be scoped; or 0 if not locally scopedname - the name of the groupdescription - a free-text description of the grouptype privilege_array is table of wwsec_privilege$%rowtype index by binary_integer
subtype username_type is wwsec_person$.user_name%type
| Constant Detail |
ACCESS_PRIV constant wwsec_sys_priv$.privilege%type := 'ACCESS'
ADD_CUSTOM_PRIV constant wwsec_sys_priv$.privilege%type := 'ADD_ONLY_CUSTOM_CONTENT'
ALL_OBJECTS constant wwsec_sys_priv$.name%type := 'ALL_OBJECTS'
ANYGROUP_CREATE constant number := 100
ANYGROUP_MANAGE constant number := 200
ANYGROUP_OBJ constant wwsec_sys_priv$.object_type_name%type := 'ANY_GROUP'
ANYLOG_EDIT constant number := 200
ANYLOG_MANAGE constant number := 300
ANYLOG_OBJ constant wwsec_sys_priv$.object_type_name%type := 'ANY_LOG'
ANYLOG_VIEW constant number := 100
ANYPAGE_ADD_ONLY_CUSTOM_CNT constant number := 500
ANYPAGE_CREATE constant number := 100
ANYPAGE_FULL_CUSTOM_CNT constant number := 600
ANYPAGE_HIDE_SHOW_CUSTOM_CNT constant number := 400
ANYPAGE_MANAGE constant number := 1000
ANYPAGE_MANAGE_CNT constant number := 900
ANYPAGE_MANAGE_CNT_WITH_APP constant number := 800
ANYPAGE_MANAGE_STYLE constant number := 700
ANYPAGE_OBJ constant wwsec_sys_priv$.object_type_name%type := 'ANY_PAGE'
ANYPAGE_STYLE_CUSTOM constant number := 300
ANYPAGE_VIEW constant number := 200
ANYPORTLET_ACCESS constant number := 200
ANYPORTLET_EDIT constant number := 400
ANYPORTLET_EXECUTE constant number := 300
ANYPORTLET_MANAGE constant number := 500
ANYPORTLET_OBJ constant wwsec_sys_priv$.object_type_name%type := 'ANY_PORTLET'
ANYPORTLET_PUBLISH constant number := 100
ANYPROVIDER_CREATE constant number := 100
ANYPROVIDER_EDIT constant number := 400
ANYPROVIDER_EXECUTE constant number := 200
ANYPROVIDER_MANAGE constant number := 500
ANYPROVIDER_OBJ constant wwsec_sys_priv$.object_type_name%type := 'ANY_PROVIDER'
ANYPROVIDER_PUBLISH constant number := 300
ANYSCHEMA_CREATE constant number := 100
ANYSCHEMA_INSERT constant number := 300
ANYSCHEMA_MANAGE constant number := 500
ANYSCHEMA_MODIFY constant number := 400
ANYSCHEMA_OBJ constant wwsec_sys_priv$.object_type_name%type := 'ANY_SCHEMA'
ANYSCHEMA_VIEW constant number := 200
ANYSITE_CREATE constant number := 100
ANYSITE_MANAGE constant number := 700
ANYSITE_MANAGE_CLASSIFICATION constant number := 500
ANYSITE_MANAGE_STYLE constant number := 300
ANYSITE_MANAGE_TEMPLATE constant number := 400
ANYSITE_MANAGE_TRANSLATION constant number := 600
ANYSITE_OBJ constant wwsec_sys_priv$.object_type_name%type := 'ANY_SITE'
ANYSITE_VIEW constant number := 200
ANYSTYLE_CREATE constant number := 100
ANYSTYLE_MANAGE constant number := 400
ANYSTYLE_OBJ constant wwsec_sys_priv$.object_type_name%type := 'ANY_STYLE'
ANYSTYLE_PUBLISH constant number := 200
ANYSTYLE_VIEW constant number := 300
ANYTRANSPORTSET_EXECUTE constant number := 200
ANYTRANSPORTSET_MANAGE constant number := 500
ANYTRANSPORTSET_OBJ constant wwsec_sys_priv$.object_type_name%type := 'ANY_TRANSPORTSET'
ANYUSER_CREATE constant number := 100
ANYUSER_MANAGE constant number := 200
ANYUSER_OBJ constant wwsec_sys_priv$.object_type_name%type := 'ANY_USER'
CREATE_PRIV constant wwsec_sys_priv$.privilege%type := 'CREATE'
CUSTOMIZE_PRIV constant wwsec_sys_priv$.privilege%type := 'CUSTOMIZE'
DOCUMENT_MANAGE constant number := 200
DOCUMENT_OBJ constant wwsec_sys_priv$.object_type_name%type := 'DOCUMENT'
DOCUMENT_OWN constant number := 300
DOCUMENT_VIEW constant number := 100
EDIT_PRIV constant wwsec_sys_priv$.privilege%type := 'EDIT'
EXECUTE_PRIV constant wwsec_sys_priv$.privilege%type := 'EXECUTE'
FULL_CUSTOM_PRIV constant wwsec_sys_priv$.privilege%type := 'FULL_CUSTOM_CONTENT'
GLOBAL_GROUP constant number(1) := 0
GRANTEE_GROUP constant wwsec_sys_priv$.grantee_type%type := 'GROUP'
GRANTEE_USER constant wwsec_sys_priv$.grantee_type%type := 'USER'
GROUP_AUTHENTICATED_USERS constant number(1) := 0
GROUP_DBA constant number(1) := 1
GROUP_IPORTAL_ADMINISTRATORS constant number(1) := GROUP_WEBDB_ADMINISTRATORS
GROUP_OBJ constant wwsec_sys_priv$.object_type_name%type := 'GROUP'
GROUP_OWN constant number := 100
GROUP_PORTAL_PUBLISHERS constant number(1) := 3
GROUP_TYPE_LIST constant wwsec_group$.group_type%type := 'LIST'
GROUP_TYPE_ORG constant wwsec_group$.group_type%type := 'ORG'
GROUP_WEBDB_ADMINISTRATORS constant number(1) := 2
HIDDEN constant number(1) := 1
HIDE_SHOW_CUSTOM_PRIV constant wwsec_sys_priv$.privilege%type := 'HIDE_SHOW_CUSTOM_CONTENT'
INSERT_PRIV constant wwsec_sys_priv$.privilege%type := 'INSERT'
ITEM_MANAGE constant number := 200
ITEM_OBJ constant wwsec_sys_priv$.object_type_name%type := 'ITEM'
ITEM_OWN constant number := 300
ITEM_VIEW constant number := 100
LOV_EDIT constant number := 200
LOV_EXECUTE constant number := 100
LOV_OBJ constant wwsec_sys_priv$.object_type_name%type := 'LOV'
MANAGE_CLASSIFICATION_PRIV constant wwsec_sys_priv$.privilege%type := 'MANAGE_CLASSIFICATION'
MANAGE_CNT_PRIV constant wwsec_sys_priv$.privilege%type := 'MANAGE_CONTENT'
MANAGE_CNT_WITH_APP_PRIV constant wwsec_sys_priv$.privilege%type := 'MANAGE_CONTENT_WITH_APPROVAL'
MANAGE_PRIV constant wwsec_sys_priv$.privilege%type := 'MANAGE'
MANAGE_STYLE_PRIV constant wwsec_sys_priv$.privilege%type := 'MANAGE_STYLE'
MANAGE_TEMPLATE_PRIV constant wwsec_sys_priv$.privilege%type := 'MANAGE_TEMPLATE'
MEMBER_TYPE_GROUP constant wwsec_member$.member_type%type := 'GROUP'
MEMBER_TYPE_USER constant wwsec_member$.member_type%type := 'USER'
MENU_EXECUTE constant number := 100
MENU_OBJ constant wwsec_sys_priv$.object_type_name%type := 'MENU'
MODIFY_PRIV constant wwsec_sys_priv$.privilege%type := 'MODIFY'
NAVBAR_OBJ constant wwsec_sys_priv$.object_type_name%type := 'NAVBAR'
NAVBAR_OWN constant number := 100
NO_PRIVILEGE constant number := 0
NOT_HIDDEN constant number(1) := 0
NOT_OWNER constant number(1) := 0
OWN_PRIV constant wwsec_sys_priv$.privilege%type := 'OWN'
OWNER constant number(1) := 1
PAGE_ADD_ONLY_CUSTOM_CNT constant number := 400
PAGE_FULL_CUSTOM_CNT constant number := 500
PAGE_HIDE_SHOW_CUSTOM_CNT constant number := 300
PAGE_MANAGE constant number := 900
PAGE_MANAGE_CNT constant number := 800
PAGE_MANAGE_CNT_WITH_APP constant number := 700
PAGE_MANAGE_STYLE constant number := 600
PAGE_OBJ constant wwsec_sys_priv$.object_type_name%type := 'PAGE'
PAGE_STYLE_CUSTOM constant number := 200
PAGE_VIEW constant number := 100
PORTLET_ACCESS constant number := 200
PORTLET_EDIT constant number := 400
PORTLET_EXECUTE constant number := 300
PORTLET_MANAGE constant number := 500
PORTLET_NON_LOCAL_ACCESS constant number := 200
PORTLET_NON_LOCAL_EXECUTE constant number := 300
PORTLET_NON_LOCAL_MANAGE constant number := 500
PORTLET_NON_LOCAL_PUBLISH constant number := 100
PORTLET_NONLOCAL_OBJ constant wwsec_sys_priv$.object_type_name%type := 'PORTLET_NON_LOCAL'
PORTLET_OBJ constant wwsec_sys_priv$.object_type_name%type := 'PORTLET'
PORTLET_PUBLISH constant number := 100
PROVIDER_EDIT constant number := 400
PROVIDER_EXECUTE constant number := 200
PROVIDER_MANAGE constant number := 500
PROVIDER_OBJ constant wwsec_sys_priv$.object_type_name%type := 'PROVIDER'
PROVIDER_PUBLISH constant number := 300
PUBLISH_PRIV constant wwsec_sys_priv$.privilege%type := 'PUBLISH'
SCHEMA_ADMIN constant number(1) := 1
SCHEMA_BROWSEIN constant number := 100
SCHEMA_BUILDIN constant number := 200
SCHEMA_OBJ constant wwsec_sys_priv$.object_type_name%type := 'SCHEMA'
SCHEMA_OWNER constant number(1) := 0
SEARCH_SUBTYPE_GROUP constant varchar2(30) := 'GROUP'
SEARCH_SUBTYPE_USER constant varchar2(30) := 'USER'
SEARCH_TYPE_UG constant varchar2(30) := 'USERGROUP'
SITE_MANAGE constant number := 600
SITE_MANAGE_CLASSIFICATION constant number := 400
SITE_MANAGE_STYLE constant number := 200
SITE_MANAGE_TEMPLATE constant number := 300
SITE_MANAGE_TRANSLATION constant number := 500
SITE_OBJ constant wwsec_sys_priv$.object_type_name%type := 'SITE'
SITE_SEPARATOR constant varchar2(1) := '/'
SITE_VIEW constant number := 100
STYLE_CUSTOM_PRIV constant wwsec_sys_priv$.privilege%type := 'STYLE_CUSTOM'
USER_PUBLIC constant number(1) := 2
VIEW_PRIV constant wwsec_sys_priv$.privilege%type := 'VIEW'
WORKFLOW_EXECUTE constant number := 300
WORKFLOW_MANAGE constant number := 400
WORKFLOW_STATUS constant number := 100
WORKFLOW_STATUS_AND_EXECUTE constant number := 200
| Variable Detail |
empty array
emptyidarray idarray
| Function/Procedure Detail |
function accessible_objects(
p_object_type_name in varchar2,
p_privilege in varchar2,
p_owner in varchar2 default wwctx_api . get_product_schema
) return arrayReturns a list of accessible objects of a single object type and single privilege level to which a specified user, or a specified group that the user belongs to, has privileges.
Example:
declare
l_array wwsec_api.array;
begin
l_array := wwsec_api.accessible_objects
(
p_object_type_name => wwsec_api.PAGE_OBJ,
p_privilege => wwsec_api.OWN_PRIV
);
end;
p_object_type_name - the type of object, e.g., ADMIN, FOLDER,
ITEM, etc.p_privilege - the privilege required on the objectp_owner - the name of the schema that owns the Access Control
List entry, or another name space discriminatorNO_ACCESSIBLE_OBJECT_EXCEPTION - if no such
object exists
function accessible_objects(
p_object_type_name in varchar2,
p_privilege_array in wwsec_api.array,
p_owner in varchar2 default wwctx_api . get_product_schema
) return arrayThis routine returns a list of accessible objects that the user has one or more of a specified set of privileges over.
Example:
declare
l_objects wwsec_api.array;
l_priv_array wwsec_api.array;
begin
l_priv_array(1):= wwsec_api.MANAGE_PRIV;
l_priv_array(2):= wwsec_api.CREATE_PRIV;
(
p_object_type_name => wwsec_api.PAGE_OBJ,
p_privilege_array => l_priv_array
);
end;
p_object_type_name - the type of object, e.g., ADMIN, FOLDER,
ITEM, etc.p_privilege_array - the list of privileges need to be checkedp_owner - the name of the schema that owns the Access Control
List entry, or another name space discriminatorNO_ACCESSIBLE_OBJECT_EXCEPTION - if no such object exists
procedure activate_portal_user(
p_user_name in varchar2
) Note: Sets portal_user to 'Y' in the OracleAS Portal 10G user record.
Example:
begin
wwsec_api.activate_portal_user
(
p_user_name => 'USER1'
);
end;
p_user_name - the user name of an existing user whose
account should be activatedUSER_NOT_FOUND_EXCEPTION - if a Portal User Profile entry for a
user with username p_user_name does not exist, even though the user
may be present in OIDACCESS_DENIED_EXCEPTION - if the user who initiates the calling
routine has insufficient authority to execute the routine
procedure add_group_to_list(
p_group_id in number,
p_to_group_id in number,
p_is_owner in number
) This routine adds a group to a list type group and sets privileges if the members of the group are to be owners of the group to which they are being added.
Example:
wwsec_api.add_group_to_list(
p_group_id => wwsec_api.group_id('POWER_USERS'),
p_to_group_id => wwsec_api.group_id('PORTAL_DEVELOPERS'),
p_is_owner => wwsec_api.OWNER
);
p_group_id - the portal's identifier for the group
to be added as a memberp_to_group_id - the portal's identifier for the group to which
the other group should be added as a memberp_is_owner - flag indicates whether or not the group should be
added as an owner of the groupGROUP_NOT_FOUND_EXCEPTION - if one of the referenced
groups doesn't existGROUP_MEMBER_EXCEPTION - if the group is already a member
of the other groupACCESS_DENIED_EXCEPTION - if the caller is not
an owner of the group or does not have a global privilege
to edit groupsCIRCULAR_REFERENCE_EXCEPTION - if the group is being added to
itself.LDAP_CONNECTION_EXCEPTION - if the portal cannot connect to OID
function add_portal_user(
p_user_name in varchar2,
p_db_user in varchar2 default null,
p_empno in varchar2 default null,
p_display_personal_info in varchar2 default 'n',
p_last_name in varchar2 default null,
p_first_name in varchar2 default null,
p_middle_name in varchar2 default null,
p_known_as in varchar2 default null,
p_maiden_name in varchar2 default null,
p_date_of_birth in varchar2 default null,
p_email in varchar2 default null,
p_work_phone in varchar2 default null,
p_home_phone in varchar2 default null,
p_mobile_phone in varchar2 default null,
p_pager in varchar2 default null,
p_fax in varchar2 default null,
p_office_addr1 in varchar2 default null,
p_office_addr2 in varchar2 default null,
p_office_addr3 in varchar2 default null,
p_office_city in varchar2 default null,
p_office_state in varchar2 default null,
p_office_zip in varchar2 default null,
p_office_country in varchar2 default null,
p_home_addr1 in varchar2 default null,
p_home_addr2 in varchar2 default null,
p_home_addr3 in varchar2 default null,
p_home_city in varchar2 default null,
p_home_state in varchar2 default null,
p_home_zip in varchar2 default null,
p_home_country in varchar2 default null,
p_organization in varchar2 default null,
p_title in varchar2 default null,
p_spending_limit in number default null,
p_hiredate in varchar2 default null,
p_source in varchar2 default null,
p_manager_user_name in varchar2 default null,
p_portal_user in varchar2 default 'y'
) return numberIn Oracle9iAS Portal 9.0.2 (or later) this function can be used to add a user profile for a user that exists in Oracle Internet Directory (OID). The user must already exist in OID before this function is called. The result of this function is that the user attributes are updated based on the values that are passed. A local entry for the user is also created in the Portal. This local entry can then be used to grant appropriate privileges to access various Portal objects.
Example:
declare
l_id number;
begin
l_id := wwsec_api.add_portal_user
(
p_User_Name => 'JWDOE',
p_Empno => '123-45-6789',
p_Display_Personal_Info => 'Y',
p_Last_Name => 'Doe',
p_First_Name => 'John',
p_Middle_Name => 'Wilson',
p_Known_As => 'John',
p_Date_Of_Birth => '15-MAR-1968',
p_Email => 'jdoe@abc.com',
p_Work_Phone => '(123) 456-7890',
p_Home_Phone => '(234) 567-8901',
p_Mobile_Phone => '(345) 678-9012',
p_Pager => '(456) 789-0123',
p_Fax => '(567) 890-1234',
p_Office_Addr1 => '123 First St',
p_Office_City => 'Washington',
p_Office_State => 'DC',
p_Office_Zip => '20001',
p_Office_Country => 'USA',
p_Home_Addr1 => '234 Second St',
p_Home_City => 'Washington',
p_Home_State => 'DC',
p_Home_Zip => '20001',
p_Home_Country => 'USA',
p_Title => 'Not Assigned',
p_Hiredate => '01-Oct-2000',
p_Manager_User_Name => 'GHTHOMAS',
p_Portal_User => 'Y'
);
end;
p_User_Name - the user name of the user being added to
OracleAS Portal 10Gp_DB_User - a database user namep_Empno - an employee numberp_Display_Personal_Info - enter Y or N to choose to
display personal informationp_Last_Name - the user's family namep_First_Name - the user's given namep_Middle_Name - the user's middle namep_Known_As - the user's nicknamep_Maiden_Name - the user's maiden name (if applicable)p_Date_Of_Birth - the user's date of birth.
Note: Use the date format 'DD-MON-YYYY'
format (the month is not case sensitive).p_Email - the user's e-mail addressp_Work_Phone - the user's work phone numberp_Home_Phone - the user's home phone numberp_Mobile_Phone - the user's mobile phone numberp_Pager - the user's pager numberp_Fax - the user's fax numberp_Office_Addr1 - the first line of the user's office addressp_Office_Addr2 - the second line of the user's office addressp_Office_Addr3 - the third line of the user's office addressp_Office_City - the city in which the user's office is locatedp_Office_State - the state in which the user's office is locatedp_Office_Zip - the zip code for the person's officep_Office_Country - the country in which the user's office
is locatedp_Home_Addr1 - the first line of the user's home addressp_Home_Addr2 - the second line of the user's home address.p_Home_Addr3 - the third line of the user's home addressp_Home_City - the user's home cityp_Home_State - the user's home statep_Home_Zip - the user's home zip codep_Home_Country - the user's home countryp_Organization - the user's organization.
Note: This parameter is currently ignored.
The organization value is always taken from
the subscriber.p_Title - the user's job titlep_Spending_Limit - the user's spending limit
Note: This parameter is currently ignored.p_Hiredate - the user's date of hire
Note: Use the date format 'DD-MON-YYYY'
(the month is not case sensitive).p_Source - the source of user information (via
bulkload or UI)
Note: This parameter is currently ignored.p_Manager_User_Name - the user name of the user's managerp_Portal_User - (Y/N) indicates whether the user is an
active OracleAS Portal 10G userNO_MANAGER_EXCEPTION - if the user's manager's user ID is
not enteredACCESS_DENIED_EXCEPTION - if the user who initiates the calling
routine has insufficient authority to execute the routineUNEXPECTED_EXCEPTION - if a problem occurs for which an
exception has not been definedUSER_EXISTS_EXCEPTION - if a local user profile already exists
in the portal schemaUSER_NOT_FOUND_EXCEPTION - if the user does not exist in OIDLDAP_CONNECTION_EXCEPTION - if the portal cannot connect to OID
procedure add_user_to_list(
p_person_id in number,
p_to_group_id in number,
p_is_owner in number
) This routine adds a user to a group and sets privileges if the user is to be an owner of the group. In Oracle9iAS Portal 9.0.2 or later, this API makes an API call to OID to update the group in the directory.
Example:
wwsec_api.add_user_to_list(
p_person_id => wwsec_api.id('JDOE'),
p_to_group_id => wwsec_api.group_id('PORTAL_DEVELOPERS'),
p_is_owner => wwsec_api.OWNER
);
p_person_id - the portal's identifier for the userp_to_group_id - the portal's identifier for the group to which
the user should be addedp_is_owner - flag indicates whether or not the user should be
added as an owner of the groupINVALID_PERSON_ID_EXCEPTION - if the specified
p_person_id doesn't existGROUP_NOT_FOUND_EXCEPTION - if the specified
group doesn't existACCESS_DENIED_EXCEPTION - if the caller is not
an owner of the group or does not have a global privilege
to edit groupsGROUP_MEMBER_EXCEPTION - if the user specified by
p_person_id is already a member of the groupLDAP_CONNECTION_EXCEPTION - if the portal cannot connect to OIDprocedure clear_package_cache
The package wwsec_api maintains its own internal cache to improve performance of the APIs. Resetting these cached values can degrade the performance of these APIs. However, if an application needs to reset the state of the package variables for some reason then this procedure can be used.
It clears all the values held in package level variables so that these values can be obtained from the database when they are accessed the next time around. This is useful when switching context from one subscriber to another, since the settings for each subscriber can be different from others.
Example:
begin
wwsec_api.clear_package_cache;
end;
procedure copy_privileges(
p_object_type in varchar2,
p_object_from in varchar2,
p_object_to in varchar2,
p_owner in varchar2 default wwctx_api . get_product_schema
) This procedure copies all privileges granted on object_from to object_to. The source object must exist, and must be of type p_obj_type. ACL entries are then created for the object_to referenced, but no checks are made to ensure that the object exists.
Example:
begin
copy_privileges(
p_object_type => wwsec_api.PAGE_OBJ,
p_object_from => '1/1'
p_object_to => '1/399'
);
end;
p_object_type - the ACL object_type name constant for the
source objectp_object_from - the unique name of the source objectp_object_to - the unique name of the destination objectp_owner - the name of the schema that owns the Access Control
List entry, or another name space discriminatorACCESS_DENIED_EXCEPTION - if then caller has no authorityVALUE_ERROR_EXCEPTION - if object_from is the same as object_to
function create_list(
p_name in varchar2,
p_site_id in number default global_group,
p_description in varchar2 default null,
p_hidden_group in number default not_hidden,
p_hidden_members in number default not_hidden
) return numberNote: This API will create the group entry in the associated Oracle Internet Directory. If the group creation succeeds in OID, then the group will be created, regardless of the eventual state of the PL/SQL transaction in the OracleAS Portal 10G repository. E.g., if the PL/SQL API transaction is rolled back, the group will still remain in OID.
Example:
l_groupid number;
l_groupid := wwsec_api.create_list(
p_name => 'DEVELOPER',
p_description => 'This is a group for developers'
);
p_name - a name for the new group
Note: the p_name must be unique for the site in which it is created and unique among global groups.
p_site_id - the unique identifier for the site in which
the group will be created
Note: This parameter is ignored in Oracle9iAS Portal 9.0.2 and later.
p_description - a description of the new groupp_hidden_group - indicates if the new group is hidden from
users and groups (except those who are
owners of the new group)p_hidden_members - this parameter is not usedDUPLICATE_GROUP_EXCEPTION - if a group with the same name existsINVALID_GRP_NAME_EXCEPTION - if the group name is invalidACCESS_DENIED_EXCEPTION - if the user who initiates the
calling routine has insufficient authority to execute the
routineLDAP_CONNECTION_EXCEPTION - if the portal cannot connect to OID
function db_user(
p_user_name in varchar2
) return varchar2Example:
declare
l_dbuser varchar2;
begin
l_dbuser := wwsec_api.db_user(
p_user_name => 'USER1'
);
end;
p_user_name - the name of an OracleAS Portal 10G userUSER_NOT_FOUND_EXCEPTION - if the user name is not found
procedure deactivate_portal_user(
p_user_name in varchar2
) Note: Sets portal_user to 'N' in the OracleAS Portal 10G user record.
Example:
begin
wwsec_api.deactivate_portal_user
(
p_user_name => 'USER1'
);
end;
p_user_name - the user name of the OracleAS Portal 10G user
whose account is to be deactivatedUSER_NOT_FOUND_EXCEPTION - if a Portal User Profile entry for
a user with username p_user_name does not exist, even though the user
may be present in OIDACCESS_DENIED_EXCEPTION - if the user who initiates the calling
routine has insufficient authority to execute the routine
procedure delete_group_from_list(
p_group_id in number,
p_member_group_id in number
) A group may contain members which are users or other groups. This procedure removes a specified group from the list of members of another specified group.
Example:
wwsec_api.delete_group_from_list(
p_group_id => wwsec_api.group_id ('GROUP1'),
p_member_group_id => wwsec_api.group_id ('SUBGROUP1')
);
p_group_id - the portal's identifier for the groupp_member_group_id - the portal's identifier for the member userGROUP_NOT_FOUND_EXCEPTION - if the referenced
group doesn't existACCESS_DENIED_EXCEPTION - if the caller is not
an owner of the group or does not have a global privilege
to edit groupsLDAP_CONNECTION_EXCEPTION - if the portal cannot connect to OID
procedure delete_list(
p_groupid in number
) Note: Only an owner of a group can delete a group.
Example:
wwsec_api.delete_list(
p_group_id => 13
);
p_groupid - the ID of the group to be deletedGROUP_NOT_FOUND_EXCEPTION - if the specified group doesn't existACCESS_DENIED_EXCEPTION - if the user who initiates the
calling routine has insufficient authority to execute the
routineLDAP_CONNECTION_EXCEPTION - if the portal cannot connect to OID
procedure delete_portal_user(
p_user_name in varchar2
) This procedure effectively removes the user's privileges in the portal, along with their preferences.
Example:
wwsec_api.delete_portal_user
(
p_user_name => 'USER1'
);
p_user_name - the user name of the OracleAS Portal 10G user to
be deletedACCESS_DENIED_EXCEPTION - if the user who initiates a
calling routine has insufficient authority to execute the
routineUSER_NOT_FOUND_EXCEPTION - if the user name is not foundUSER_NOT_DELETABLE_EXCEPTION - if the user name may not be
deleted
procedure delete_user_from_list(
p_group_id in number,
p_member_person_id in number
) Example:
wwsec_api.delete_user_from_list(
p_group_id => wwsec_api.group_id('POWER_USERS'),
p_member_person_id => wwsec_api.id('JDOE')
);
p_group_id - the portal's identifier for the groupp_member_person_id - the portal's identifier for the member userGROUP_NOT_FOUND_EXCEPTION - if the referenced
group doesn't exist or the user doesn't existACCESS_DENIED_EXCEPTION - if the caller is not
an owner of the group or does not have a global privilege
to edit groupsLDAP_CONNECTION_EXCEPTION - if the portal cannot connect to OID
function get_authorization_function(
p_object_type_name in varchar2,
p_owner in varchar2 default wwctx_api . get_product_schema,
p_name in varchar2
) return varchar2This routine returns the function registered to perform authorization for a specified object.
Example:
declare
l_function varchar2(92);
begin
l_function := wwsec_api.get_authorization_function(
p_object_type_name => wwsec_api.ITEM_OBJ,
p_name => '1/123'
);
p_object_type_name - the type of object, e.g., ADMIN, FOLDER,
ITEM, etc.p_owner - the 'owner' of the ACL entry, used
to resolve namespace collisionsp_name - the reference to the object
function get_defaultgroup(
p_username in varchar2 default wwctx_api . get_user
) return numberNote: The default group is the group that the preference system uses if no user-level preferences are specified for a given setting.
Example:
declare
l_defaultgroupid number;
begin
l_defaultgroupid := wwsec_api.get_defaultgroup
(
p_username => 'USER1'
);
end;
p_username - the name of the user whose default group
is being requested
function get_granted_group_privilege(
p_group_id in number,
p_object_type_name in varchar2,
p_name in varchar2,
p_owner in varchar2 default wwctx_api . get_product_schema
) return varchar2Example:
declare
l_priv varchar2;
begin
l_priv := wwsec_api.get_granted_group_privilege(
p_group_id => 12,
p_object_type_name => wwsec_api.PAGE_OBJ,
p_name => '0/156
);
end;
p_group_id - the ID of the groupp_object_type_name - the type of object, e.g. ADMIN, FOLDER,
ITEM, etc.p_name - the reference to the objectp_owner - the 'owner' of the ACL entry, used
to resolve namespace collisions
function get_granted_user_priv_code(
p_user_id in number,
p_object_type_name in varchar2,
p_name in varchar2,
p_owner in varchar2 default wwctx_api . get_product_schema
) return numberNote: This function returns NO_PRIVILEGE if the user has not been granted a privilege on the given object. This is different from get_granted_user_privilege, which returns null in this case. We cannot change the behavior of get_granted_user_privilege because it is a public API.
p_user_id - the portal's identifier for the userp_object_type_name - the type of object, e.g., ADMIN, FOLDER,
ITEM, etc.p_name - the reference to the objectp_owner - the name of the schema that owns the Access Control
List entry, or another name space discriminator
to resolve namespace collisions
function get_granted_user_privilege(
p_user_id in number,
p_object_type_name in varchar2,
p_name in varchar2,
p_owner in varchar2 default wwctx_api . get_product_schema
) return varchar2Example:
declare
l_priv varchar2;
begin
l_priv := wwsec_api.get_granted_user_privilege
(
p_user_id => wwsec_api.id('JDOE'),
p_object_type_name => wwsec_api.QBEFORM_OBJ,
p_name => '33'
);
end;
p_user_id - the portal's identifier for the userp_object_type_name - the type of object, e.g. ADMIN, FOLDER,
ITEM, etc.p_name - the reference to the objectp_owner - the name of the schema that owns the Access Control
List entry, or another name space discriminator
to resolve namespace collisions
function get_list_members(
p_group_id in number
) return wwsec_api.list_member_arrayp_group_id - the unique identifier for the groupDEPRECATED_API_EXCEPTION - if invoked
function get_manager(
p_user_name in varchar2
) return varchar2Example:
declare
l_manager wwsec_person.user_name%type;
begin
l_manager := wwsec_api.get_manager
(
p_user_name => 'user1'
);
end;
p_user_name - the name of the user whose manager is being
queriedUSER_NOT_FOUND_EXCEPTION - if the user specified is not found
function get_member_record(
p_member_id in number
) return wwsec_member$%rowtypep_member_id - the member IDDEPRECATED_API_EXCEPTION - if invoked
function get_privilege_level(
p_object_type_name in varchar2,
p_name in varchar2,
p_owner in varchar2 default wwctx_api . get_product_schema,
p_reqd_auth_level in number default wwctx_api . required_authentication_level,
p_check_public_user in boolean default true
) return numberThis function returns the highest privilege that a user has on a given object, taking into account all groups that the user belongs to and including direct grants.
Example:
declare
l_priv number;
begin
l_priv := wwsec_api.get_privilege_level
(
p_object_type_name => wwsec_api.PAGE_OBJ,
p_name => '0/156'
);
end;
p_object_type_name - the type of object, e.g. ADMIN, FOLDER,
ITEM, etc.p_name - the reference to the objectp_owner - the 'owner' of the ACL entry, used
to resolve namespace collisionsp_reqd_auth_level - the minimum authentication level requiredp_check_public_user - TRUE if privileges granted to the public
user should be checked (i.e. a user has a
privilege if it is granted to the user,
the user's groups, or the public user).
Default TRUE.
function get_public_objects(
p_object_type_name in varchar2,
p_privilege in varchar2 default null,
p_owner in varchar2 default wwctx_api . get_product_schema
) return arrayExample:
declare
v_names array;
begin
v_names := wwsec_api.get_public_objects(
p_object_type_name => wwsec_api.PAGE_OBJ,
p_privilege => wwsec_api.MANAGE_PRIV
);
end;
p_object_type_name - the type of object requestedp_privilege - an optional privilege to check forp_owner - the owner of the ACL entry
function grantee_list(
p_object_type_name in varchar2,
p_name in varchar2,
p_owner in varchar2 default wwctx_api . get_product_schema
) return grantee_arrayCall this routine to return a list of users who have been granted privileges on a specific object, given an object type and an object name.
Example:
declare
l_grantees wwsec_api.grantee_array;
begin
l_grantees := wwsec_api.grantee_list
(
p_object_type_name => wwsec_api.PAGE_OBJ,
p_name => '0/156'
);
end;
p_object_type_name - the type of object, e.g., ADMIN, FOLDER,
ITEM, etc.p_name - the reference to the objectp_owner - the name of the schema that owns the Access Control
List entry, or another name space discriminator
function group_id(
p_name in varchar2
) return numberCall this function to return a group ID based on a specified group name. It does not require a site identifier.
In Oracle9iAS Portal 9.0.2 or later, the function checks the group in the local group repository in the Portal schema. If a local shadow entry is not found, it queries the Oracle Internet Directory (OID) to get the group information and creates a local shadow entry. It always returns the ID of the local shadow entry.
Example:
declare
l_groupid number;
begin
l_groupid := wwsec_api.group_id(
p_name => 'PORTAL_ADMIN'
);
end;
p_name - the common name of the groupGROUP_NOT_FOUND_EXCEPTION - if the name cannot be foundVALUE_ERROR_EXCEPTION - if p_name is nullLDAP_CONNECTION_EXCEPTION - if the API is unable to
connect with the OID serverwwsec_oid.MULTIPLE_MATCHES_FOUND - if the specified
group name is not unique when searching OID from the
configured group search base
function group_info(
p_group_id in number
) return wwsec_group$%rowtypeExample:
declare
l_group_rec wwsec_group$%rowtype;
begin
l_group_rec := wwsec_api.group_info
(
p_group_id => wwsec_api.group_id('PORTAL_DEVELOPERS')
);
dbms_output.put_line('subscriber_id = '||l_group_rec.subscriber_id );
dbms_output.put_line('id = '||l_group_rec.id );
dbms_output.put_line('name = '||l_group_rec.name );
dbms_output.put_line('description = '||l_group_rec.description );
dbms_output.put_line('hidden_group = '||l_group_rec.hidden_group );
dbms_output.put_line('deletable = '||l_group_rec.deletable );
dbms_output.put_line('guid = '||l_group_rec.guid );
dbms_output.put_line('dn = '||l_group_rec.dn );
end;
p_group_id - the portal's identifier for the groupGROUP_NOT_FOUND_EXCEPTION - if referenced
group doesn't existwwsec_oid.MULTIPLE_MATCHES_FOUND - if the specified
group name is not unique when searching OID from the
configured group search baseLDAP_CONNECTION_EXCEPTION - if the portal cannot connect to OID
function group_name(
p_group_id in number
) return varchar2Example:
declare
l_groupname wwsec_group$.name%type;
begin
l_groupname := wwsec_api.group_name(
p_group_id => 123
)
end;
p_group_id - the portal's identifier for the groupGROUP_NOT_FOUND_EXCEPTION - if the specified p_group_id
could not be found
function has_privilege(
p_object_type_name in varchar2,
p_name in varchar2,
p_privilege in varchar2,
p_owner in varchar2 default wwctx_api . get_product_schema,
p_reqd_auth_level in number default wwctx_api . required_authentication_level,
p_check_public_user in boolean default true
) return booleanExample:
declare
l_is_allowed boolean;
begin
l_is_allowed := wwsec_api.has_privilege
(
p_object_type_name => wwsec_api.PAGE_OBJ,
p_name => '0/156',
p_privilege => wwsec_api.OWN_PRIV
);
end;
p_object_type_name - the type of object, e.g., ADMIN, FOLDER,
ITEM, etc.p_name - the reference to the objectp_privilege - the privilege that needs to be checkedp_owner - the 'owner' of the ACL entry, used
to resolve namespace collisionsp_reqd_auth_level - the minimum authentication level requiredp_check_public_user - TRUE if privileges granted to the public
user should be checked (i.e. a user has a
privilege if it is granted to the user,
the user's groups, or the public user).
Default TRUE.
function has_privilege(
p_object_type_name in varchar2,
p_name in varchar2,
p_privilege_array in wwsec_api.array,
p_owner in varchar2 default wwctx_api . get_product_schema,
p_reqd_auth_level in number default wwctx_api . required_authentication_level,
p_check_public_user in boolean default true
) return booleanExample:
declare
l_is_allowed boolean;
l_priv_array wwsec_api.array;
begin
l_priv_array(1):= wwsec_api.MANAGE_PRIV;
l_priv_array(2):= wwsec_api.CREATE_PRIV;
l_is_allowed := wwsec_api.has_privilege
(
p_object_type_name => wwsec_api.PAGE_OBJ,
p_name => '0/156',
p_privilege_array => l_priv_array
);
end;
p_object_type_name - the type of object, e.g.,
ADMIN, FOLDER, ITEM, etc.p_name - the reference to the objectp_privilege_array - the list of privilegesp_owner - the owner of the privilege objectp_reqd_auth_level - the minimum authentication level requiredp_check_public_user - TRUE if privileges granted to the public
user should be checked (i.e. a user has a
privilege if it is granted to the user,
the user's groups, or the public user).
Default TRUE.
function has_privilege(
p_object_type_name in varchar2,
p_name in varchar2,
p_privilege_code in number,
p_owner in varchar2 default wwctx_api . get_product_schema,
p_reqd_auth_level in number default wwctx_api . required_authentication_level,
p_check_public_user in boolean default true
) return booleanThis version uses a privilege code, instead of the privileges string, for better performance. This routine returns TRUE if the user or the group the user belongs to has a certain privilege in ACL table, and returns FALSE otherwise.
Example:
declare
l_is_allowed boolean;
begin
l_is_allowed := wwsec_api.has_privilege(
p_object_type_name => wwsec_api.PAGE_OBJ,
p_name => '0/156',
p_privilege_code => wwsec_api.MANAGE_PRIV
);
end;
p_object_type_name - the type of object, e.g., ADMIN, FOLDER,
ITEM, etc.p_name - the reference to the objectp_privilege_code - the privilege code that needs to be checked.p_owner - the 'owner' of the ACL entry, used
to resolve namespace collisionsp_reqd_auth_level - the minimum authentication level requiredp_check_public_user - TRUE if privileges granted to the public
user should be checked (i.e. a user has a
privilege if it is granted to the user,
the user's groups, or the public user).
Default TRUE.
function id(
p_user_name in varchar2,
p_userguid in varchar2 default null
) return numberExample:
declare
l_id number;
begin
l_id := wwsec_api.id(
p_user_name => 'user1'
);
end;
p_user_name - the user name of the OracleAS Portal 10G userp_userguid - the global unique identifier (GUID) used to
identify the user in OID. It is an optional parameter and
when specified takes precedence over p_user_name.
Note that this parameter is available in OracleAS Portal 10G
9.0.2 or later.USER_NOT_FOUND_EXCEPTION - if the user name is not found in
the Portal's profile table
function id_sso(
p_username in varchar2,
p_userguid in varchar2 default null
) return numberIt also creates a shadow entry in OracleAS Portal 10G (if one does not exist) before returning the person ID.
Example:
declare
l_id number;
begin
l_id := wwsec_api.id_sso(
p_username => 'user1'
);
end;
p_username - the user name of the OracleAS Portal 10G userp_userguid - the global unique identifier (GUID) used to
identify the user in OID. It is an optional parameter and
when specified takes precedence over p_user_name.
Note that this parameter is available in
Oracle9iAS Portal 9.0.2 or later.USER_NOT_FOUND_EXCEPTION - if the user name is not found in
the portal profile or in OID.UNEXPECTED_EXCEPTION - if any other exception
condition occurs
function is_group_owner(
p_member_id in number
) return numberp_member_id - The identifier of the member record from the group.
The member ID can be obtained from the list_member_record
obtained from a call to wwsec_api.get_list_members.DEPRECATED_API_EXCEPTION - if invoked
function is_privilege_at_least(
p_object_type_name in varchar2,
p_name in varchar2,
p_privilege_code in number,
p_owner in varchar2 default wwctx_api . get_product_schema,
p_reqd_auth_level in number default wwctx_api . required_authentication_level,
p_check_public_user in boolean default true
) return booleanChecks whether a specified user, or group to which a user belongs, has a privilege on a specified object that is at least as high as the privilege specified. This check assumes that privileges are defined hierarchically, and that the highest privilege has the highest privilege code.
This routine returns TRUE if the user or the group the user belongs to has at least a certain privilege on a given object, and returns FALSE otherwise.
Example:
declare
l_return boolean;
begin
wwsec_api.is_privilege_at_least(
p_object_type_name => wwsec_oid.PAGE_OBJ,
p_name => l_name,
p_privilege_code => wwsec_api.ANYLOG_MANAGE
);
end;
p_object_type_name - the type of object, e.g., ADMIN, FOLDER,
ITEM, etc.p_name - the reference to the objectp_privilege_code - the minimum privilege code requiredp_owner - the 'owner' of the ACL entry, used
to resolve namespace collisionsp_reqd_auth_level - the minimum authentication level requiredp_check_public_user - TRUE if privileges granted to the public
user should be checked (i.e. a user has a
privilege if it is granted to the user,
the user's groups, or the public user).
Default TRUE.
function is_privileged_by_auth_function(
p_object_type_name in varchar2,
p_name in varchar2,
p_privilege_code in varchar2,
p_owner in varchar2 default wwctx_api . get_product_schema,
p_reqd_auth_level in number default wwctx_api . required_authentication_level,
p_auth_function in varchar2 default null
) return booleanThis routine calls the authorization function for the given objects and returns the value that is returned by this authorization function.
p_object_type_name - the type of object, e.g., ADMIN, FOLDER,
ITEM, etc.p_name - the reference to the objectp_privilege_code - the privilege code that needs to be checkedp_owner - the 'owner' of the ACL entry, used
to resolve namespace collisionsp_reqd_auth_level - the minimum authentication level requiredp_auth_function - name of the authorization function including
the schema and the package name as
[schema].[package].[function]. This is an
optional parameter. If it is not passed
then its value is obtained by calling
get_authorization_function.
function is_user_in_direct_group(
p_person_id in number,
p_group_id in number
) return booleanCall this function to check if a user is individually (directly) registered as a member of a specific group. If the specified user's membership in the specified group is the result of the user's membership in another group that is a member of the specified group (an indirect membership), this function returns FALSE.
For example, a user can have an individual membership in the OracleAS Portal 10G Administrators group, or can have a membership in the OracleAS Portal 10G Administrators group by being a member of the DBA group, which is a member of the OracleAS Portal 10G Administrators group. If a membership in DBA causes this user to be a member of OracleAS Portal 10G Administrators, this function would return FALSE. If the user has a direct membership in OracleAS Portal 10G Administrators, this function would return TRUE.
Example:
declare
l_is_direct_member boolean;
begin
l_is_direct_member := wwsec_api.is_user_in_direct_group(
p_person_id => wwsec_api.id('JDOE'),
p_group_id => wwsec_api.group_id('DBA_GROUP')
);
end;
p_person_id - the portal's identifier for the userp_group_id - the portal's identifier for the groupGROUP_NOT_FOUND_EXCEPTION - if the referenced
group doesn't existLDAP_CONNECTION_EXCEPTION - if the portal cannot connect to OID
function is_user_in_group(
p_person_id in number,
p_group_id in number
) return booleanCall this routine to determine if a user is a member of a specified group. This function can be used to resolve nested memberships. For example, if a user U is a member of a group A, which, in turn, is a member of group B, then user U is also considered a member of group B. This function returns TRUE, if p_person_id refers to user U and p_group_id refers to either group A or group B.
Example:
declare
l_is_member boolean;
begin
l_is_member := wwsec_api.is_user_in_group(
p_person_id => wwsec_api.id ('USER1'),
p_group_id => wwsec_api.group_id ('GROUP1')
);
end;
p_person_id - the portal's identifier for the userp_group_id - the portal's identifier for the groupGROUP_NOT_FOUND_EXCEPTION - if the referenced
group doesn't existLDAP_CONNECTION_EXCEPTION - if the portal cannot connect to OID
function list_id(
p_group_name in varchar2,
p_site_id in number default null
) return numberThis routine returns the group ID of a group that is registered to be scoped to a particular content area.
Example:
declare
l_groupid number;
begin
l_groupid := wwsec_api.list_id(
p_group_name => 'PORTAL_ADMIN'
);
end;
p_group_name - the name of the groupp_site_id - the site_id of the content area to which group
p_group_name is scoped. In Oracle9iAS Portal 9.0.2 or later,
this parameter is ignored, as scoping to a content area
is no longer supported.GROUP_NOT_FOUND_EXCEPTION - if the name cannot be foundVALUE_ERROR_EXCEPTION - if p_name is nullLDAP_CONNECTION_EXCEPTION - if the API is unable to
connect with the OID serverwwsec_oid.MULTIPLE_MATCHES_FOUND - if the specified
group name is not unique when searching OID from the
configured group search base
function lists(
p_siteid in number default null
) return wwsec_api.list_arrayp_siteid - the site IDDEPRECATED_API_EXCEPTION - if invoked
procedure modify_portal_user(
p_user_name in varchar2,
p_db_user in varchar2 default wwctx_api . get_public_schema,
p_portal_user in varchar2 default 'y',
p_display in varchar2 default 'y',
p_display_personal_info in varchar2 default 'n',
p_notification_preference in varchar2 default 'mailhtml',
p_empno in varchar2 default null,
p_last_name in varchar2 default null,
p_first_name in varchar2 default null,
p_middle_name in varchar2 default null,
p_known_as in varchar2 default null,
p_maiden_name in varchar2 default null,
p_date_of_birth in varchar2 default null,
p_email in varchar2 default null,
p_work_phone in varchar2 default null,
p_home_phone in varchar2 default null,
p_mobile_phone in varchar2 default null,
p_pager in varchar2 default null,
p_fax in varchar2 default null,
p_office_addr1 in varchar2 default null,
p_office_addr2 in varchar2 default null,
p_office_addr3 in varchar2 default null,
p_office_city in varchar2 default null,
p_office_state in varchar2 default null,
p_office_zip in varchar2 default null,
p_office_country in varchar2 default null,
p_home_addr1 in varchar2 default null,
p_home_addr2 in varchar2 default null,
p_home_addr3 in varchar2 default null,
p_home_city in varchar2 default null,
p_home_state in varchar2 default null,
p_home_zip in varchar2 default null,
p_home_country in varchar2 default null,
p_organization in varchar2 default null,
p_title in varchar2 default null,
p_spending_limit in number default null,
p_hiredate in varchar2 default null,
p_source in varchar2 default null,
p_manager_user_name in varchar2 default null
) Note: In Oracle9iAS Portal 9.0.2 (or later) this function can be used to modify a user profile for a user that exists in Oracle Internet Directory (OID).
Example:
declare
l_id number;
begin
l_id := wwsec_api.modify_portal_user
(
p_User_Name => 'JWDOE',
p_Portal_User => 'Y',
p_Display => 'Y',
p_Display_Personal_Info => 'Y',
p_Notification_Preference => 'MAILHTML',
p_Empno => '123-45-6789',
p_Last_Name => 'Doe',
p_First_Name => 'John',
p_Middle_Name => 'Wilson',
p_Known_As => 'John',
p_Date_Of_Birth => '15-MAR-1968',
p_Email => 'jdoe@abc.com',
p_Work_Phone => '(123) 456-7890',
p_Home_Phone => '(234) 567-8901',
p_Mobile_Phone => '(345) 678-9012',
p_Pager => '(456) 789-0123',
p_Fax => '(567) 890-1234',
p_Office_Addr1 => '123 First St',
p_Office_City => 'Washington',
p_Office_State => 'DC',
p_Office_Zip => '20001',
p_Office_Country => 'USA',
p_Home_Addr1 => '234 Second St',
p_Home_City => 'Washington',
p_Home_State => 'DC',
p_Home_Zip => '20001',
p_Home_Country => 'USA',
p_Title => 'Not Assigned',
p_Hiredate => '01-Oct-2000',
p_Manager_User_Name => 'GHTHOMAS'
);
end;
p_User_Name - the user name of the OracleAS Portal 10G user
whose account is to be modifiedp_DB_User - a database user namep_Portal_User - indicates whether the user is an active
OracleAS Portal 10G userp_Display - indicates whether the user will be displayed
in a workflowp_Display_Personal_Info - enter Y or N to choose to
display personal informationp_Notification_Preference - a workflow notification method.
Valid values are:p_Empno - an employee numberp_Last_Name - the user's family namep_First_Name - the user's given namep_Middle_Name - the user's middle namep_Known_As - the user's nicknamep_Maiden_Name - the user's maiden name (if applicable)p_Date_Of_Birth - the user's date of birth.
Note: Use the date format 'DD-MON-YYYY'
format (the month is not case sensitive).p_Email - the user's e-mail addressp_Work_Phone - the user's work phone numberp_Home_Phone - the user's home phone numberp_Mobile_Phone - the user's mobile phone numberp_Pager - the user's pager numberp_Fax - the user's fax numberp_Office_Addr1 - the first line of the user's office addressp_Office_Addr2 - the second line of the user's office addressp_Office_Addr3 - the third line of the user's office addressp_Office_City - the city in which the user's office is locatedp_Office_State - the state in which the user's office is locatedp_Office_Zip - the zip code for the person's officep_Office_Country - the country in which the user's office
is locatedp_Home_Addr1 - the first line of the user's home addressp_Home_Addr2 - the second line of the user's home addressp_Home_Addr3 - the third line of the user's home addressp_Home_City - the user's home cityp_Home_State - the user's home statep_Home_Zip - the user's home zip codep_Home_Country - the user's home countryp_Organization - the user's organization.
Note: This parameter is not supported in OID
and is currently ignored. The organization
value is always taken from the subscriber.p_Title - the user's job title.p_Spending_Limit - the user's spending limit.
Note: This parameter is not supported in OID
and is currently ignored.p_Hiredate - the user's date of hire.
Note: Use the date format 'DD-MON-YYYY'
format (the month is not case sensitive).p_Source - the source of user information (via
bulkload or UI).
Note: This parameter is not supported in OID
and is currently ignored.p_Manager_User_Name - the user name of the user's managerNO_MANAGER_EXCEPTION - if the user's manager's user ID
is not enteredACCESS_DENIED_EXCEPTION - if the user who initiates the calling
routine has insufficient authority to execute the routineUSER_NOT_FOUND_EXCEPTION - if the user does not exist in OIDLDAP_CONNECTION_EXCEPTION - if the portal cannot connect to OID
function person_info(
p_person_id in number
) return wwsec_person%rowtypeExample:
declare
l_person_rec wwsec_person%rowtype;
begin
l_person_rec := wwsec_api.person_info
(
p_person_id => 787633
);
end;
INVALID_PERSON_ID_EXCEPTION - if the ID specified does not existUNEXPECTED_EXCEPTION - if a problem occurs for which an
exception has not been definedUSER_NOT_FOUND_EXCEPTION - if the user does not exist in OIDLDAP_CONNECTION_EXCEPTION - if the portal cannot connect to OID
function person_info(
p_user_name in varchar2
) return wwsec_person%rowtypeExample:
declare
l_person_rec wwsec_person%rowtype;
begin
l_person_rec := wwsec_api.person_info
(
p_user_name => 'USER1'
);
end;
USER_NOT_FOUND_EXCEPTION - if the user name is not foundUNEXPECTED_EXCEPTION - if a problem occurs for which an
exception has not been definedLDAP_CONNECTION_EXCEPTION - if the portal cannot connect to OID
function privilege_list(
p_object_type_name in varchar2
) return privilege_arrayExample:
declare
l_privileges wwsec_api.privilege_array;
begin
l_privileges := wwsec_api.privilege_list
(
p_object_type_name => wwsec_api.PAGE_OBJ,
p_name => '0/156'
);
end;
p_object_type_name - the type of object, e.g., ADMIN, FOLDER,
ITEM, etc.
procedure publish_group(
p_groupid in number,
p_publishable in boolean
) p_groupid - the portal's identifier for the groupDEPRECATED_API_EXCEPTION - if this function is invoked
procedure remove_group_acl(
p_object_type_name in varchar2,
p_name in varchar2,
p_group_id in number default null,
p_privilege in varchar2 default null,
p_owner in varchar2 default wwctx_api . get_product_schema,
p_disable_invalidations in boolean default false
) Call this API to perform one of three possible operations:
Example:
wwsec_api.remove_group_acl(
p_object_type_name => wwsec_api.PAGE_OBJ,
p_name => '0/156',
p_group_id => 3,
p_privilege => wwsec_api.MANAGE_PRIV
);
p_object_type_name - the type of object, e.g., ADMIN, FOLDER,
ITEM, etc.p_name - the reference to the objectp_group_id - the portal's identifier for a groupp_privilege - the privilege to be granted. this should
exist in WWSEC_PRIVILEGE$p_owner - the owner of the ACL entryp_disable_invalidations - controls whether cache invalidations
are disabled when removing the group ACLACCESS_DENIED_EXCEPTION - if the caller has insufficient
privileges
procedure remove_user_acl(
p_object_type_name in varchar2,
p_name in varchar2,
p_person_id in number default null,
p_privilege in varchar2 default null,
p_owner in varchar2 default wwctx_api . get_product_schema,
p_disable_invalidations in boolean default false
) Example:
wwsec_api.remove_user_acl(
p_object_type_name => wwsec_api.GROUP_OBJ,
p_name => '0/156',
p_person_id => 3,
p_privilege => wwsec_api.MANAGE_PRIV
);
p_object_type_name - - the type of secured object, referenced by
the security API constants that end with '_OBJ'. For example,
wwsec_api.GROUP_OBJ, wwsec_api.PAGE_OBJ, etc.p_name - the reference to the objectp_person_id - the portal's identifier for a userp_privilege - the privilege to be granted. this should
exist in WWSEC_PRIVILEGE$p_owner - the owner of the ACL entry, used for avoiding
namespace collisionsp_disable_invalidations - controls whether cache invalidations
are disabled when setting the user ACLACCESS_DENIED_EXCEPTION - if the caller has insufficient
privileges
procedure set_authorization_function(
p_object_type_name in varchar2,
p_owner in varchar2 default wwctx_api . get_product_schema,
p_name in varchar2,
p_authorization_function in varchar2
) This procedure creates an entry in the authorization function table. It updates the entry if it already exists and deletes it if p_authorization_function is null. The authorization function is executed to evaluate whether the current user is authorized to perform the action on the specified object.
Example:
begin
wwsec_api.set_authorization_function(
p_object_type_name => wwsec_api.ANYSCHEMA_OBJ,
p_name => wwsec_api.ALL_OBJECTS,
p_authorization_function => 'SCOTT.TEST_PKG.IS_DBA'
);
end;
p_object_type_name - the type of object, e.g., ADMIN, FOLDER,
ITEM, etc., should exist in WWSEC_PRIV_OBJECT_TYPE$p_owner - the 'owner' of the ACL entry, used
to resolve namespace collisionsp_name - the reference to the objectp_authorization_function - name of the authorization function
including the schema and the package name as
[schema].[package].[function]. This is the name of the
function that would check the privilege. The specified
authorization function must exist when this API is
invoked. This function must implement an interface where it
accepts five parameters with names p_object_type_name, p_name,
p_privilege_code, p_owner, and p_reqd_auth_level.
In addition, the authorization function must have a purity
level of a minimum of WNDS. A null value for
p_authorization_function disables the function based
security for the object.INVALID_AUTH_FUNC_EXCEPTION - if the function doesn't exist
procedure set_defaultgroup(
p_groupid in number,
p_username in varchar2 default wwctx_api . get_user
) Note: The default group is the group that the preference system uses if no user-level preferences are specified for a given setting.
Example:
wwsec_api.set_defaultgroup(
p_groupid => wwsec_api.group_id ('PORTAL_ADMIN'),
p_username => 'USER1'
);
p_groupid - the unique identifier for the default group,
or null if no preferencep_username - the name of the user for whom the default group
should be definedUNEXPECTED_EXCEPTION - if a problem occurs for which an
exception has not been definedLDAP_CONNECTION_EXCEPTION - if the portal cannot connect to OIDACCESS_DENIED_EXCEPTION - if user has insufficient privileges
procedure set_group_acl(
p_group_id in number,
p_object_type_name in varchar2,
p_owner in varchar2 default wwctx_api . get_product_schema,
p_name in varchar2,
p_privilege in varchar2,
p_disable_invalidations in boolean default false
) Example:
wwsec_api.set_group_acl(
p_group_id => wwsec_api.group_id('MYGROUP'),
p_object_type_name => wwsec_api.ANYSITE_OBJ,
p_name => wwsec_api.ALL_OBJECTS,
p_privilege => wwsec_api.CREATE_PRIV
);
This example shows how to programmatically grant group MYGROUP with the
global privilege to create page groups.
p_group_id - the numeric ID for a group profilep_object_type_name - - the type of secured object, referenced by
the security API constants that end with '_OBJ'. For example,
wwsec_api.GROUP_OBJ, wwsec_api.PAGE_OBJ, etc.p_owner - the owner of the ACL entry, used for avoiding
namespace collisions, typically the product schemap_name - - is an object-type-specific reference to the object on
which privilege is being granted.p_privilege - - the privilege to be granted. Defined by a
security API constant that ends with '_PRIV'. For example,
wwsec_api.OWN_PRIV, wwsec_api.VIEW_PRIV, etc.p_disable_invalidations - controls whether cache invalidations
are disabled when setting the group ACLGROUP_NOT_FOUND_EXCEPTION - if the group doesn't existACCESS_DENIED_EXCEPTION - if the caller has insufficient
privileges
procedure set_user_acl(
p_person_id in number,
p_object_type_name in varchar2,
p_owner in varchar2 default wwctx_api . get_product_schema,
p_name in varchar2,
p_privilege in varchar2,
p_disable_invalidations in boolean default false
) Example:
wwsec_api.set_user_acl(
p_person_id => wwsec_api.id('JDOE'),
p_object_type_name => wwsec_api.ANYPAGE_OBJ,
p_name => wwsec_api.ALL_OBJECTS,
p_privilege => wwsec_api.MANAGE_STYLE_PRIV
);
This example shows how to programmatically grant user JDOE with the global
privilege to manage styles on any page.
p_person_id - the portal's identifier for the userp_object_type_name - - the type of secured object, referenced by
the security API constants that end with '_OBJ'. For example,
wwsec_api.GROUP_OBJ, wwsec_api.PAGE_OBJ, etc.p_owner - the owner of the ACL entry, used for avoiding
namespace collisions, typically the product schema.p_name - - is an object-type-specific reference to the object on
which privilege is being granted.p_privilege - - the privilege to be granted. Defined by a
security API constant that ends with '_PRIV'. For example,
wwsec_api.OWN_PRIV, wwsec_api.VIEW_PRIV, etc.p_disable_invalidations - controls whether cache invalidations
are disabled when setting the user ACLUSER_NOT_FOUND_EXCEPTION - if the user doesn't existACCESS_DENIED_EXCEPTION - if the caller does not
have the privilege to manage the specified object
procedure update_group_acl(
p_object_type_name in varchar2,
p_name in varchar2,
p_grantee_group_id in number,
p_privilege in varchar2,
p_owner in varchar2 default wwctx_api . get_product_schema,
p_disable_invalidations in boolean default false
) Example:
wwsec_api.update_group_acl(
p_object_type_name => wwsec_api.ANYSITE_OBJ,
p_name => wwsec_api.ALL_OBJECTS,
p_grantee_group_id => wwsec_api.group_id('MYGROUP'),
p_privilege => wwsec_api.CREATE_PRIV
);
This example shows how to programmatically grant group MYGROUP with the
global privilege to create page groups.
p_object_type_name - - the type of secured object, referenced by
the security API constants that end with '_OBJ'. For example,
wwsec_api.GROUP_OBJ, wwsec_api.PAGE_OBJ, etc.p_name - - is an object-type-specific reference to the object on
which privilege is being granted.p_grantee_group_id - the portal's identifier for a groupp_privilege - - the privilege to be granted. Defined by a
security API constant that ends with '_PRIV'. For example,
wwsec_api.OWN_PRIV, wwsec_api.VIEW_PRIV, etc.p_owner - an owner of the ACL entry, used for avoiding
namespace collisionsp_disable_invalidations - controls whether cache invalidations
are disabled when updating the group ACLACCESS_DENIED_EXCEPTION - if the caller has insufficient
privileges
procedure update_group_owner(
p_group_id in number,
p_member_group_id in number,
p_is_owner in number
) Call this procedure to perform one of two operations, depending on the value of p_is_owner:
Example:
wwsec_api.update_group_owner(
p_group_id => wwsec_api.group_id('POWER_USERS'),
p_member_group_id => wwsec_api.group_id('PORTAL_DEVELOPERS'),
p_is_owner => wwsec_api.NOT_OWNER
);
p_group_id - the portal's identifier for the groupp_member_group_id - the portal's identifier for the member groupp_is_owner - indicates whether or not the member group should
be made an owner or notGROUP_NOT_FOUND_EXCEPTION - if the referenced group doesn't
existACCESS_DENIED_EXCEPTION - if the caller is not
an owner of the group or does not have a global privilege
to edit groupsLDAP_CONNECTION_EXCEPTION - if the portal cannot connect to OID
procedure update_list(
p_groupid in number,
p_siteid in number default global_group,
p_name in varchar2,
p_description in varchar2 default null,
p_hidden_group in number,
p_hidden_members in number default null
) Example:
wwsec_api.update_list
(
p_groupid => 2,
p_name => 'DEVELOPER',
p_description => 'Development Team',
p_hidden_group => wwsec_api.NOT_HIDDEN
);
p_groupid - the unique identifier for a groupp_name - the name of the groupp_description - a description of the groupp_hidden_group - indicates if the group is hidden from users
and groups except those who are owners of the groupp_hidden_members - this parameter is not usedGROUP_NOT_FOUND_EXCEPTION - if the p_groupid doesn't
existACCESS_DENIED_EXCEPTION - if the caller does not own the
group, or does not have the global privileges to edit a groupINVALID_GRP_NAME_EXCEPTION - if the group name is invalidLDAP_CONNECTION_EXCEPTION - if the portal cannot connect to OID
procedure update_user_acl(
p_object_type_name in varchar2,
p_name in varchar2,
p_grantee_user_id in number,
p_privilege in varchar2,
p_owner in varchar2 default wwctx_api . get_product_schema,
p_disable_invalidations in boolean default false
) Call this routine to update a user's privilege in the Access Control List.
Example:
wwsec_api.update_user_acl(
p_object_type_name => wwsec_api.ANYPAGE_OBJ,
p_name => wwsec_api.ALL_OBJECTS,
p_grantee_user_id => wwsec_api.id('JDOE'),
p_privilege => wwsec_api.MANAGE_STYLE_PRIV
);
This example shows how to programmatically grant user JDOE with the global
privilege to manage styles on any page.
p_object_type_name - - the type of secured object, referenced by
the security API constants that end with '_OBJ'. For example,
wwsec_api.GROUP_OBJ, wwsec_api.PAGE_OBJ, etc.p_name - - is an object-type-specific reference to the object on
which privilege is being granted.p_grantee_user_id - the portal's identifier for a userp_privilege - - the privilege to be granted. Defined by a
security API constant that ends with '_PRIV'. For example,
wwsec_api.OWN_PRIV, wwsec_api.VIEW_PRIV, etc.p_owner - owner of the ACL entry, used for avoiding namespace
collisionsp_disable_invalidations - controls whether cache invalidations
are disabled when setting the user ACLACCESS_DENIED_EXCEPTION - if the caller has insufficient
privileges
procedure update_user_owner(
p_group_id in number,
p_member_person_id in number,
p_is_owner in number
) Call this procedure to perform one of two operations, depending on the value of p_is_owner:
Example:
wwsec_api.update_user_owner(
p_group_id => wwsec_api.group_id('POWER_USERS'),
p_member_person_id => wwsec_api.id('JDOE'),
p_is_owner => wwsec_api.NOT_OWNER
);
p_group_id - the portal's identifier for the groupp_member_person_id - the portal's identifier for the userp_is_owner - indicates whether or not the user should
be made an ownerGROUP_NOT_FOUND_EXCEPTION - if the referenced
group doesn't existINVALID_PERSON_ID_EXCEPTION - if p_member_person_id
doesn't existACCESS_DENIED_EXCEPTION - if the caller is not
an owner of the group or does not have a global privilege
to edit groupsLDAP_CONNECTION_EXCEPTION - if the portal cannot connect to OID
function user_in_groups(
p_user_name in varchar2
) return idarrayp_user_name - the name of the user whose group memberships
are being requestedDEPRECATED_API_EXCEPTION - if invoked
function user_name(
p_id in number
) return varchar2Example:
declare
l_user_name varchar2 (30);
begin
l_user_name := wwsec_api.user_name
(
p_id => 16782
);
end;
p_id - a unique identifying number for a personINVALID_PERSON_ID_EXCEPTION - if the specified person_id
does not existUNEXPECTED_EXCEPTION - if any other exception
condition occurs
function users_in_group(
p_group_id in number
) return arrayp_group_id - the portal's identifier for the groupDEPRECATED_API_EXCEPTION - if invoked
| Oracle Application Server Portal PL/SQL API Reference - 10.1.2 | |||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||
| SUMMARY: EXCEPTION | TYPE | CONSTANT | VARIABLE | FUNCTION/PROCEDURE | DETAIL: EXCEPTION | TYPE | CONSTANT | VARIABLE | FUNCTION/PROCEDURE | |||||||