이전 항목: UNIX의 경우다음 항목: authxapi_UnregisterExitFunction 함수


authxapi_RegisterExitFunction 함수

UNIX에 해당

authxapi_RegisterExitFunction 함수는 특정 이벤트에 대한 종료 함수를 등록합니다. 등록은 모든 단계에서 수행할 수 있지만 프로그램을 시작 및 종료하는 중에 처리해야 합니다.

이 함수는 성공하면 0을 반환합니다. 실패할 경우에는 전역 변수 errno를 설정하고 다음 오류 코드 중 하나를 반환합니다.

반환 값

ERRNO

의미

AUTHXAPI_E_OCCUPIED

EEXIST

이벤트가 이미 등록되었습니다.

AUTHXAPI_E_NOEVENT

EINVAL

올바르지 않은 이벤트 코드입니다.

int authxapi_RegisterExitFunction (int event, PFSeosExitFunc user_func);
event

종료 API 함수가 등록된 이벤트의 코드입니다. 암호 이벤트는 암호 유틸리티에 연결된 경우에만 사용할 수 있습니다. 일반 시스템 이벤트는 seosd 데몬에 연결된 경우에만 사용할 수 있습니다.

유효한 event 값은 다음과 같습니다.

AUTHXAPI_EV_PRELOGIN

사전 로그인 이벤트

AUTHXAPI_EV_POSTLOGIN

사후 로그인 이벤트

AUTHXAPI_EV_PREGNRES

사전 일반 리소스 이벤트

AUTHXAPI_EV_POSTGNRES

사후 일반 리소스 이벤트

AUTHXAPI_EV_PREINET

사전 TCP/IP 요청 이벤트

AUTHXAPI_EV_POSTINET

사후 TCP/IP 요청 이벤트

AUTHXAPI_EV_PREVERPWD

사전 암호 품질 검사 이벤트

AUTHXAPI_EV_POSTVERPWD

사후 암호 품질 검사 이벤트

AUTHXAPI_EV_PRESETPWD

사전 암호 변경 이벤트

AUTHXAPI_EV_POSTSETPWD

사후 암호 변경 이벤트

user_func

지정된 이벤트가 발생할 때 CA ControlMinder가 호출해야 하는 사용자 함수에 대한 포인터입니다.

예제: 사용자의 종료 함수 등록

이 예제에서는 authxapi_RegisterExitFunction 함수를 사용하여 사용자 ismith의 모든 로그인 시도를 거부하는 방법을 보여 줍니다.

/* Sample function to deny all login attempts of user 'jsmith' */
int MyExitFunc(void *exit_data, SEOS_EXITRES *res)
{
    SEOS_EXITLOGIN *login_data;

    login_data = (SEOS_EXITLOGIN *)exit_data;
    if (login_data‑>szUname != NULL)
    {
             if (strcmp(login_data‑>szUname, "jsmith"))
                 return 0;
             res‑>result = SEOS_EXITR_DENY;
    }
    return 0;
}

/* The function Access Control looks for on initialization */
/* of extension. */
int sample_RegisterExit(void)
{
    return authxapi_RegisterExitFunction(AUTHXAPI_EV_PRELOGIN,
                                         MyExitFunc);
}

추가 정보:

authxapi_UnregisterExitFunction 함수