다음을 통해 공유


IHttpUser::IsInRole 메서드

사용자에게 명명된 역할에 대한 권한이 있는지 여부를 나타내는 값을 반환합니다.

구문

virtual HRESULT IsInRole(  
   IN PCWSTR pszRoleName,  
   OUT BOOL* pfInRole  
) = 0;  

매개 변수

pszRoleName
[IN] 역할의 이름을 포함하는 null로 끝나는 상수 유니코드 문자열에 대한 포인터입니다.

pfInRole
[OUT] 에서 지정pszRoleNameBOOL 역할에 대해 사용자에게 권한이 부여되었는지 여부를 나타내는 에 대한 포인터입니다.

반환 값

HRESULT입니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.

정의
S_OK 작업이 성공했음을 나타냅니다.
E_NOTIMPL 메서드가 IsInRole 구현되지 않음을 나타냅니다.

설명

IsInRoleSupportsIsInRole 메서드가 동일한 IHttpUser 포인터에서 처음 반환 true 되는 경우에만 메서드를 호출합니다.

반환 값은 IsInRole 구현에 따라 달라집니다. 다음 정보를 지침으로 사용해야 하지만 모든 시나리오에서 올바르지 않을 수 있습니다.

  • IHttpUser 구현자가 익명 인증을 처리하는 경우 매개 변수가 NULL이거나 비어 있는 경우에만 pszRoleName 역참조 pfInRole 매개 변수가 로 설정 true 됩니다. IsInRole 는 항상 S_OK 반환합니다.

  • IHttpUser 구현자가 기본, 인증 매핑, SSPI 또는 사용자 지정 인증 pfInRole 을 처리하는 경우 매개 변수는 수정되지 IsInRole 않고 즉시 E_NOTIMPL 반환합니다.

  • IHttpUser 구현자가 관리 인증 pfInRole 을 처리하는 경우 매개 변수는 수정되지 IsInRole 않으며 매개 변수 중 하나가 NULL인 경우 즉시 E_INVALIDARG 반환합니다. 그렇지 않으면 이 pfInRoletrue설정되고 IsInRole 사용자가 역할에 있는 경우에만 S_OK 반환합니다.

예제

다음 코드 예제에서는 응답 헤더 및 본문을 지우고 사용자 정보를 XML 문서로 클라이언트에 반환하는 HTTP 모듈을 만드는 방법을 보여 줍니다.

위의 코드는 응답 스트림에 다음과 유사한 XML을 씁니다.

<?xml version="1.0" ?>  
<user supportsRoles="true" isInRole="false" />  

모듈은 RegisterModule 함수를 내보내야 합니다. 프로젝트에 대한 모듈 정의(.def) 파일을 만들어 이 함수를 내보내거나 스위치를 사용하여 /EXPORT:RegisterModule 모듈을 컴파일할 수 있습니다. 자세한 내용은 연습: 네이티브 코드를 사용하여 Request-Level HTTP 모듈 만들기를 참조하세요.

필요에 따라 각 함수에 대한 호출 규칙을 명시적으로 선언하는 대신 호출 규칙을 사용하여 __stdcall (/Gz) 코드를 컴파일할 수 있습니다.

요구 사항

형식 Description
클라이언트 - Windows Vista의 IIS 7.0
- Windows 7의 IIS 7.5
- Windows 8의 IIS 8.0
- WINDOWS 10 IIS 10.0
서버 - Windows Server 2008의 IIS 7.0
- Windows Server 2008 R2의 IIS 7.5
- Windows Server 2012의 IIS 8.0
- Windows Server 2012 R2의 IIS 8.5
- WINDOWS SERVER 2016 IIS 10.0
제품 - IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0
- IIS Express 7.5, IIS Express 8.0, IIS Express 10.0
헤더 Httpserv.h

참고 항목

IHttpUser 인터페이스