Поделиться через


Метод ISecurityCallContext::IsUserInRole (comsvcs.h)

Определяет, находится ли указанный пользователь в указанной роли.

Синтаксис

HRESULT IsUserInRole(
  [in]  VARIANT      *pUser,
  [in]  BSTR         bstrRole,
  [out] VARIANT_BOOL *pfInRole
);

Параметры

[in] pUser

Указатель на значение, включающее идентификатор пользователя, членство в роли которого необходимо проверить. Если вы планируете передать идентификатор безопасности (SID) в IsUserInRole, этот параметр должен соответствовать следующим требованиям: V_VT(pUser) == (VT_ARRAY|VT_UI1) && V_ARRAY(pUser)->cDims == 1.

[in] bstrRole

Имя роли.

[out] pfInRole

ЗНАЧЕНИЕ TRUE , если пользователь находится в указанной роли; False , если нет. Если указанная роль не определена для приложения, возвращается значение FALSE . Этот параметр имеет значение TRUE , если безопасность на основе ролей не включена.

Возвращаемое значение

Этот метод может возвращать стандартные возвращаемые значения E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED и E_FAIL, а также следующие значения.

Код возврата Описание
S_OK
Роль, указанная в параметре bstrRole , является распознанной ролью, а логический результат, возвращаемый в параметре pfIsInRole , указывает, находится ли пользователь в этой роли.
CONTEXT_E_ROLENOTFOUND
Роль, указанная в параметре bstrRole , не существует.

Комментарии

Используйте этот метод, чтобы ограничить доступ к разделам кода, которые не должны выполняться, если вызывающий объект не является членом указанной роли. Группам и пользователям Windows назначаются роли приложения с помощью средства администрирования служб компонентов. Дополнительные сведения о ролях см. в разделе Безопасность на основе ролей.

Так как isUserInRole имеет значение TRUE , если безопасность на основе ролей не включена, рекомендуется вызвать IsSecurityEnabled перед вызовом IsUserInRole , чтобы убедиться, что IsUserInRole возвращает полезные сведения.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header comsvcs.h

См. также раздел

ISecurityCallContext

Безопасность программных компонентов