이전 항목: UserDefinedFunction 함수다음 항목: SEOS_EXITINET


UserDefinedPrefix_RegisterExit 함수

Windows에 해당

UserDefinedPrefix_RegisterExit 함수는 일부 이벤트에 대한 종료 함수를 등록합니다. seosd 서비스 및 pwdchange.dll에서 등록은 시작 시 처리됩니다.

이 함수는 성공하면 0을 반환합니다. 그 밖의 숫자는 실패를 나타냅니다. 이 경우 콜백 함수가 호출되지 않았을 때처럼 정상적으로 실행이 계속됩니다.

참고: seosd 서비스 및 pwdchange.dll은 이 함수를 호출하기 전에 레지스트리에서 UserDefinedPrefix를 읽습니다.

declspec(dllexport) int __stdcall UserDefinedPrefix_RegisterExit(PFNEXIT pFunctionsExit[], unsigned long* pEventsType).

여기서 PFNEXIT는 void를 인수로 받고 int를 반환하는 함수에 대한 포인터로 정의됩니다.

int UserDefinedFunction(void* data, SEOS_EXITRES * pExitResult);
pFunctionsExit

seosd 서비스 및 pwdchange.dll에서 등록할 사용자 정의 함수의 배열입니다.

pEventsType

pFunctionsExit 인수에서 동일한 항목의 함수에 해당하는 이벤트 유형의 배열입니다.

유효한 이벤트 유형은 다음과 같습니다.

예제

사용자의 종료 함수 등록

/* Sample of registering a user defined function that will be called prior
to CA ControlMinder password verification. (The user has configured in the registry the prefix PWD */
typedef int(*PFNEXIT)(void);
declspec(dllexport) int __stdcall PWD_RegisterExit(PFNEXIT pFunctionExit[],unsigned long* pEventTypes)
{
     pFunctionExit[0] = (PFNEXIT)MyExitFunc;
     pEventTypes[0] = AUTHXAPI_EV_PREVERPWD;
     return 0;
}

구조 및 데이터 형식

이 단원에서는 종료 API 함수가 CA ControlMinder 데몬/서비스와 정보를 전달하는 데 사용하는 데이터 구조에 대해 설명합니다. 사용하는 구조는 종료 함수가 차단하는 이벤트에 따라 달라집니다.

아래에서는 이러한 데이터 구조의 각 필드에 대해 설명합니다.

PFSeosExitFunc

함수에 대한 포인터입니다.

SEOS_EXITLOGIN

로그인 이벤트의 데이터 구조입니다.

SEOS_EXITGENR

일반 리소스 검사 이벤트의 데이터 구조입니다.

SEOS_EXITINET

TCP/IP 요청 이벤트입니다(UNIX만 해당).

SEOS_EXITPASS

암호 품질 검사 및 암호 변경 이벤트의 데이터 구조입니다.

SEOS_EXITRES

이벤트 후 CA ControlMinder에 반환되는 결과의 데이터 구조입니다.

SEOSDB_ODF

데이터베이스에 있는 개체의 정의에 대한 데이터 구조(UNIX만 해당)입니다.

SEOSDB_PDF

데이터베이스에 있는 속성의 정의에 대한 데이터 구조(UNIX만 해당)입니다.

SEOS_ACCESS

SEOS_ACCS 유형의 단일 구성원을 캡슐화합니다.

SEOS_ACCS

액세스 플래그의 목록을 포함합니다.

SEOS_CID

클래스 식별 설명자를 포함합니다(UNIX만 해당).

SEOS_OID

개체 식별 설명자를 포함합니다(UNIX만 해당).

SEOS_PID

속성 식별 설명자를 포함합니다(UNIX만 해당).

SEOS_EXITLOGIN

로그인 시도 이벤트에 연결된 종료 함수에 전달되는 첫 번째 매개 변수는 SEOS_EXITLOGIN 구조에 대한 포인터입니다. 이 구조는 로그인 시도에 대한 정보를 포함합니다. SEOS_EXITLOGIN 구조는 authxapi.h 파일에서 찾을 수 있습니다.

uid_t luid

로그인을 시도하는 사용자의 사용자 ID입니다.

char const *szUname

로그인을 시도하는 사용자의 이름입니다.

char const *szTerm

사용자가 로그인을 시도하는 데 사용하는 터미널의 이름입니다. CA ControlMinder 시작 시 NULL로 설정됩니다.

dev_t device

로그인을 시도하는 프로그램의 장치 번호입니다.

ino_t inode

로그인을 시도하는 프로그램의 Inode 번호입니다.

char const *szProg

로그인을 시도하는 프로그램의 이름입니다. 해당되지 않는 경우 NULL로 설정됩니다.

SEOS_EXITGENR

일반 리소스 검사 시도 이벤트에 연결된 종료 함수에 전달되는 첫 번째 매개 변수는 SEOS_EXITGENR 구조에 대한 포인터입니다. 이 구조는 확인할 사용자 및 리소스에 대한 정보를 포함합니다. SEOS_EXITGENR 구조는 authxapi.h 파일에서 찾을 수 있습니다.

char const *szClass

액세스하려는 일반 리소스 클래스의 이름입니다. 확인하도록 명시적으로 지정된 클래스만 검사하고 다른 클래스는 무시합니다.

char const *szRes

액세스하려는 리소스의 이름입니다.

uid_t uid

액세스를 시도하는 사용자의 UNIX 또는 Windows 사용자 ID입니다. 해당되지 않는 경우 ‑1로 설정됩니다.

int seos_handle

액세스를 시도하는 사용자와 연결된 ACEE 핸들입니다. 사용자가 CA ControlMinder에 정의되어 있지 않으면 음수이고, 그렇지 않으면 0 또는 양수입니다.

char const *szUserName

액세스를 시도하는 사용자의 이름입니다.

dev_t device

액세스를 시도하는 프로그램의 장치 번호입니다. 해당되지 않는 경우 0으로 설정됩니다.

ino_t inode

액세스를 시도하는 프로그램의 Inode 번호입니다. 해당되지 않는 경우 0으로 설정됩니다.

char const *szTerm

사용자가 액세스를 시도하는 데 사용하는 터미널의 이름입니다. 사용자가 로컬 터미널에 있지 않으면 원격 호스트 이름으로 설정됩니다.

SEOS_ACCESS access_info

요청된 액세스 유형을 나타내는 부호 없는 long 정수입니다.

char const *szProg

액세스를 시도하는 프로그램의 이름입니다. 해당되지 않는 경우 NULL로 설정됩니다.

추가 정보:

SEOS_ACCS 구조