Returns the access rights to a given security class for the current application’s users. GetSecurityClassAccessForAllUsers2 returns arrays of security identifiers, usernames, and access rights; the arrays have a one-to-one correspondence.
<HFMwSecurity>.GetSecurityClassAccessForAllUsers2 lSecurityClassID, pvarabstrUserSIDs, pvarabstrUserNames, pvaralRights
To get the ID for a security class name, use GetSecurityClassID. | |
Returns an array containing the users’ security identifiers. | |
Returns an array containing the users’ access rights to the security class. Valid values are represented by the HFMConstants type library constants listed in Access Rights Constants. |
The following example prints an application’s usernames and their access rights to a given security class to the browser. The subroutine takes a security class name; the ID for this security class is obtained with GetSecurityClassID, and then passed to GetSecurityClassAccessForAllUsers2.
Sub printClassRights(sSecName) Dim cHFMSecurity, lSecID, vaUserIDs, vaUserNames, vaRights Dim sRight Set cHFMSecurity = Server.CreateObject("Hyperion.HFMwSecurity") ' cHFMSession is a previously set HFMwSession object cHFMSecurity.SetWebSession cHFMSession lSecID = cHFMSecurity.GetSecurityClassID(sSecName) cHFMSecurity.GetSecurityClassAccessForAllUsers2 lSecID, vaUserIDs, _ vaUserNames, vaRights For i = 0 to uBound(vaUserNames) Select Case vaRights(i) Case HFM_ACCESS_RIGHTS_NONE sRight = "None" Case HFM_ACCESS_RIGHTS_READANDPROMOTE sRight = "Promote" Case HFM_ACCESS_RIGHTS_READONLY sRight = "Read" Case HFM_ACCESS_RIGHTS_ALL sRight = "All" End Select Response.Write "<p>" & vaUserNames(i) & ": " & sRight & "</p>" Next End Sub