If the CREDHANDLE parameter
is an empty string, authorization is returned for the requesting user.
The RESOURCE parameter
identifies the object to which access is requested. The parameter
accepts two types of input:
-
A URN that specifies an application
element in the following form:
OMSOBJ: MetadataType/ObjectId
-
A URN that specifies a repository
in the following form:
REPOSID:_reposID
_
reposID is the unique, 8-character identifier
of a repository. (This is the 8 characters following the period in
a RepositoryBase object's 17–character metadata identifier.)
Use of a repository
URN causes the IsAuthorized method to check the specified repository's
default ACT for information to make the authorization decision. The
repository ACT controls whether a user can create objects in the repository.
A client can use the URN to determine whether the user represented
by the CREDHANDLE parameter is granted or denied WriteMetadata, which
determines whether the user can create objects in the repository.
Group memberships are evaluated when making the decision. For example,
if the requesting user is not specifically denied WriteMetadata permission
in the repository ACT, and a group to which he belongs is granted
WriteMetadata permission in the repository ACT, then he is allowed
to create objects in the repository. For more information about identity
precedence, see
SAS Intelligence Platform: Security Administration Guide.
The PERMISSION parameter
specifies the permission to check for. A single permission value can
be passed to the IsAuthorized method.
The PERMISSIONCONDITION
parameter is used with data permissions, such as Read and Write. A
value returned in this parameter indicates that a permission is granted,
but only if the condition specified in an associated PermissionCondition
object is met. The syntax of a permission condition is not defined.
It is specific to the resource being protected and to the technology
responsible for enforcing the security of the resource. For example,
a PermissionCondition object for a table would contain an SQL WHERE
clause, but for an OLAP dimension, it would contain an MDX expression
identifying the level members that can be accessed in the OLAP dimension.
It is possible for a
user to have multiple permission conditions associated with his or
her access to a resource. In this case, the PERMISSIONCONDITION parameter
is returned with multiple strings embedded. Each embedded condition
is separated from the preceding condition by the string <!--CONDITION-->.
If you receive a PERMISSIONCONDITION output string, you must check
to see whether it contains multiple permission conditions by searching
for <!--CONDITION--> in the returned string. If multiple permission
conditions are found, then they should be used to filter data so the
resulting data is a union of the data returned for each permission
condition individually. In other words, the permission conditions
would have the OR operation performed on them.