ISecurityConnection.UserRoles

Синтаксис

UserRoles: IStringList;

Описание

Свойство UserRoles возвращает список ролей, которые может иметь пользователь.

Комментарии

Актуально, если используется ролевой тип аутентификации пользователя.

Пример

Sub Main;

Var

Man: IMetabaseManager;

Package: ISecurityPackage;

MSSQLSPLD: IPrimaryMsSqlSPLD;

Cred: IPasswordCredentials;

Connection: ISecurityConnection;

RoleName: IStringList;

RoleRevoke: IBitArray;

i: Integer;

Begin

Man := MetabaseManagerFactory.Active;

Package := Man.Packs.Item(0).Package;

MSSQLSPLD := Package.CreateLogonData("MSSQL2008") As IPrimaryMsSqlSPLD;

MSSQLSPLD.Database := "Test_Schema_MSSQL";

MSSQLSPLD.Server := "Test_MSSQL";

Cred := Package.CreateCredentials(AuthenticationMode.Role) As IPasswordCredentials;

Cred.UserName := "TestUser";

Cred.Password := "TestUser";

Connection := Package.PerformLogonRoleO(1, MSSQLSPLD, Cred, 0, 0);

RoleName := Connection.UserRoles;

RoleRevoke := Connection.RolesRevoke;

For i := 0 To RoleName.Count - 1 Do

If RoleRevoke.Item(i) Then

Debug.WriteLine("Пользователю сопоставлена роль: " + RoleName.Item(i));

Else

Debug.WriteLine("Пользователю не имеет роль: " + RoleName.Item(i));

End If;

End For;

End Sub Main;

После выполнения примера будет осуществлено новое подключение к схеме "Test_Schema_MSSQL", расположенной на сервере "Test_MSSQL", с указанными учетными данными. Подключение осуществляется с проверкой роли указанного пользователя. Список ролей, которым сопоставлен пользователь, будет выведен в консоль среды разработки.

См. также:

ISecurityConnection

ISecurityConnection.RolesRevoke