Regroupement des tâches en rôles dans un script
Dans le Gestionnaire d’autorisations, un rôle représente une catégorie d’utilisateurs et les tâches que ces utilisateurs sont autorisés à effectuer. Les tâches sont regroupées et affectées à une définition de rôle, qui est représentée par un objet IAzTask avec sa propriété IsRoleDefinition définie sur True. La définition de rôle peut ensuite être attribuée à un objet IAzRole et les utilisateurs ou groupes d’utilisateurs sont ensuite affectés à cet objet. Pour plus d’informations sur les tâches et les rôles, consultez Rôles.
L’exemple suivant montre comment affecter des tâches à une définition de rôle, créer un objet de rôle et affecter la définition de rôle à l’objet de rôle. L’exemple suppose qu’il existe un magasin de stratégies XML nommé MyStore.xml dans le répertoire racine du lecteur C, que ce magasin contient une application nommée Expense et que cette application contient des tâches nommées Envoyer les dépenses et Approuver les dépenses.
' Create the AzAuthorizationStore object.
Dim AzManStore
Set AzManStore = CreateObject("AzRoles.AzAuthorizationStore")
' Initialize the authorization store.
AzManStore.Initialize 2, "msxml://C:\MyStore.xml"
' Create an application object in the store.
Dim expenseApp
Set expenseApp = AzManStore.OpenApplication("Expense")
' Create a task object to act as a role definition.
Dim roleTask
Set roleTask = expenseApp.CreateTask("Expense Admin")
' Set the IsRoleDefinition property of roleTask to True.
roleTask.IsRoleDefinition = True
' Add two tasks to the role definition.
roleTask.AddTask CStr("Submit Expense")
roleTask.AddTask CStr("Approve Expense")
' Save the role definition to the store.
roleTask.Submit
' Create a role object.
Dim role1
Set role1 = expenseApp.CreateRole("Expense Administrator")
' Add the role definition to the role object.
role1.AddTask(roleTask.Name)
' Save the role object to the store.
role1.Submit