Share via


SetPermissions (Role Interface)

Note

  This feature will be removed in the next version of Microsoft SQL Server. Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible.

The SetPermissions method of the Role interface sets role permissions for a given key.

Applies To:clsCubeRole, clsDatabaseRole, clsMiningModelRole

Syntax

bRet = object.SetPermissions(ByVal Key As String, ByVal PermissionExpression As String)

Parameters

  • bRet
    A Boolean variable that receives the completion status of the operation: True if it was completed successfully, False otherwise.

  • object
    The role object on which to set permissions.

  • Key
    String containing the permission key.

  • PermissionExpression
    String containing the permission expression for the corresponding key.

Remarks

The Permissions property contains nine permissions keys. The meaning of each key and its possible PermissionExpression string values follow:

  • Access
    The Access key indicates what type of access the users assigned to the Role object have to the entire cube. Valid PermissionExpression values for the key are listed in the following table.

    Value

    Description

    R

    The members of this role have read-only access to the cube. (Default)

    RW

    The members of this role have read/write access to the cube.

    This key is for use only with objects of ClassType clsCubeRole.

  • AllowDrillThrough
    The AllowDrillThrough key indicates whether the users assigned to the Role object can execute drillthrough queries on the cube.

    Value

    Description

    True

    Drillthrough is allowed on this cube for members of this role.

    False

    Drillthrough is not allowed on this cube for members of this role. (Default)

    This key is for use only with objects of ClassType clsCubeRole.

  • AllowLinking
    The AllowLinking key indicates whether the users assigned to the Role object are allowed to link to the cube. Setting this property to False prevents users from creating linked cubes based on the cube.

    Value

    Description

    True

    Linking is allowed to this cube for members of this role. (Default)

    False

    Linking is not allowed to this cube for members of this role.

    This key is for use only with objects of ClassType clsCubeRole.

  • AllowSQLQueries
    The AllowSQLQueries key indicates whether the users assigned to the Role object are allowed to execute SQL SELECT queries against the cube. Setting this property to False prevents users from creating local cubes based on the cube or viewing cube data using an SQL SELECT statement.

    Value

    Description

    True

    SQL queries are allowed on this cube for members of this role. (Default)

    False

    SQL queries are not allowed on this cube for members of this role.

    This key is for use only with objects of ClassType clsCubeRole.

  • EnforcementLocation
    The EnforcementLocation key indicates whether security for the users assigned to the Role object is enforced on the server or on the client application.

    Value

    Description

    Client

    Security is enforced on the client application for members of this role. (Default)

    Server

    Security is enforced on the server for members of this role.

    This key is for use only with objects of ClassType clsDatabaseRole and ClassType clsCubeRole. If set on a database role object, the PermissionExpression value becomes the default value for all cube roles contained in the database.

  • CellRead
    The CellRead key identifies visible, readable cells for the users assigned to the Role object. The PermissionExpression value contains a logical Multidimensional Expressions (MDX) expression, to be evaluated against a cell.

    This key is for use only with objects of ClassType clsCubeRole.

  • CellReadContingent
    The CellReadContingent key identifies contingent-readable cells for the users assigned to the Role object. The PermissionExpression value contains a logical MDX expression, to be evaluated against a cell.

    This key is for use only with objects of ClassType clsCubeRole.

  • CellWrite
    The CellWrite key identifies writable cells for the users assigned to the Role object. The PermissionExpression value contains a logical MDX expression, to be evaluated against a cell. A writable cell is considered readable by default.

    This key is for use only with objects of ClassType clsCubeRole.

  • Dimension:<dimension name>
    This key is used to specify dimension security options on a dimension, using a string value containing XML syntax. The syntax for the key includes the name of the dimension that will be secured by the role object. This key can be set for objects of ClassType clsDatabaseRole and ClassType clsCubeRole. If set on a database role object, the PermissionExpression value becomes the default value for all cube roles contained in the database.

    The XML syntax for the PermissionExpression value is detailed here:

    <MEMBERSECURITY
       [ IsVisible="<Boolean_string>"]
       [ DefaultMember="<allowed_member>"]
       [ VisualTotalsLowestLevel="<level_expression>"
    >
       <PERMISSION Access="Read"
          [ UpperLevel="<level_expression>"]
          [ LowerLevel="<level_expression>"]
          [ AllowedSet="<set_expression>"]
          [ DeniedSet="<set_expression>"]
          [ Description="<desc>"]
       />
       <PERMISSION Access="Write"
          [ UpperLevel="<level_expression>"]
          [ AllowedSet="<set_expression>"]
          [ Description="<desc>"]
       />
    </MEMBERSECURITY>
    

    The <Boolean_string> value can contain either "True" or "False". The <allowed_member> value contains the name of a single read-enabled member. The <level_expression> contains an MDX expression that returns a single level. The <set_expression> value contains an MDX expression that returns a set of members. The <desc> value contains a free-form text description of the permission.

Example

Use the following code to set permissions on an object of ClassType clsCubeRole:

'Assume an object (dsoCubeRole) of ClassType clsCubeRole exists
'Set a read-only permission
dsoCubeRole.SetPermissions "Access", "R"
'Set a read-write permission
dsoCubeRole.SetPermissions "Access", "RW"

See Also

Reference