Civetweb API Reference

Embedded C/C++ web server


Civetweb API Reference

mg_set_auth_handler( ctx, uri, handler, cbdata );

Parameters

Parameter Type Description
ctx struct mg_context * The context on which the handler must be set
uri const char * The URI for the authorization handler
handler mg_authorization_handler Callback function doing the actual authorization
cbdata void * Optional user data

int mg_authorization_handler( struct mg_connection *conn, void *cbdata );

Return Value

none

Description

The function mg_set_auth_handler() hooks an authorization function to an URI to check if a user is authorized to visit that URI. The check is performed by a callback function of type mg_authorization_handler. The callback function is passed two parameters: the current connection and a pointer to optional user defined data which was passed to mg_set_auth_handler() when the callback was hooked to the URI.

The callback function can return 0 to deny access, and 1 to allow access.

To allow maximum flexibility in the HTTP response status code and message when denying access, the callback should send the HTTP response itself. The callback may send use mg_send_digest_access_authentication_request to ask for http digest authentication, it may send a http 403 status code using mg_send_http_error, or a 303 redirect to a login page using mg_send_http_redirect or any other response.

The mg_set_auth_handler() function is very similar in use to mg_set_request_handler().

See Also