Oracle9iAS Portal Developer Kit

has_privilege function (specified privilege)

Contained in package wwsec_api.

Call this function to determine if the specified user, or the group the user belongs to, has a specified privilege.

Note: This function provides better performance (than the other variant of the has_privilege function) as it uses a privilege code rather than a privilege string.

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

)

return boolean;

Version: Oracle Portal 3.0.6.6.5 or later

Parameters:

p_object_type_name

The name of the type of object referenced.

Note: These names are object_type_name constants. For example, ADMIN_OBJ, ITEM_OBJ, or another object type name.

Datatype: in varchar2

p_name

The unique name of the specific user.

Datatype: in varchar2

p_privilege_code

The privilege code to be checked.

Datatype: in number

p_owner

The name of the schema that owns the Access Control List entry, or another name space discriminator.

Datatype: in varchar2
Default: wwctx_api.get_product_schema

p_reqd_auth_level

The minimum authentication level that a calling function requires in order to pass a privilege check.

The API fails the authorization check if the current authentication level (returned by wwctx_api.get_authentication_level) is less than the value of this parameter.

Note: If the object is granted PUBLIC access, the authentication level is not checked at all.

The default value for this parameter is REQUIRED_AUTHENTICATION_LEVEL and this is equivalent to PUBLIC_AUTHENTICATION. This implies that the user must be authenticated by the Single Sign-On Server for the authorization check to pass.

Portlets that require authorization fail the authorization check for a weakly authenticated user. If a portlet wants to display itself to a weakly authenticated user, it should pass p_reqd_auth_level as WEAK_AUTHENTICATION while invoking the authorization APIs.

Note: This parameter is available in Oracle Portal 3.0.9 or later.

Datatype: number
Default: wwctx_api.REQUIRED_AUTHENTICATION_LEVEL

Returns:

This function returns TRUE if the specified user has a privilege at least the value specified for the object. It returns FALSE otherwise.

Exceptions:

This function raises no exceptions.

Example:

l_return boolean;
l_return := wwsec_api.has_privilege
(

p_object_type_name => wwsec_api.PAGE_OBJ,
p_name => '0/156',
p_privilege_code => wwsec_api.MANAGE_PRIV,
p_reqd_auth_level=>wwctx_api.REQUIRED_AUTHENTICATION_LEVEL

);

Related topics

The PL/SQL API Reference is part of the Portal Developer Kit on Portal Studio