ns_auth(3)

NAME

Ns_AuthorizeRequest, Ns_AuthorizeUser, Ns_SetRequestAutho
rizeProc, Ns_SetUserAuthorizeProc - URL level HTTP authorization
support

SYNOPSIS

#include "ns.h"
int
Ns_AuthorizeRequest(char *server, char *method, char *url,
        char *user, char *passwd, char *peer)
int
Ns_AuthorizeUser(char *user, char *passwd)
void
Ns_SetRequestAuthorizeProc(char                   *server,
Ns_RequestAuthorizeProc *procPtr)
void
Ns_SetUserAuthorizeProc(Ns_UserAuthorizeProc *procPtr)

DESCRIPTION

These functions provide a means to create and use your own
authorization mechanisms. They are used by the nsperm module to
provide authentication and authorization of users to specific
URLs.
You can define your own authorization functions. For exam
ple, you might create functions that will authorize a user by
their SSL client certificate and if that fails, then attempt to
authorize the user by username and password.
Ns_AuthorizeRequest(server, method, url,
user, passwd, peer)
Used to call the function registered by

Ns_SetRequestAuthorizeProc

given method and URL. Possible return values are:
NS_OK - The user's access is authorized

NS_UNAUTHORIZED - Access is not public for this
method or URL and either the user and password were not verified
or the user does not have permission.
NS_FORBIDDEN - There is no possible user/password
combination that would give authorization.
NS_ERROR - The authentication function could not
perform the permission check.
Ns_AuthorizeUser(user, passwd)

Checks that the cleartext password is correct for
the specified user. Returns NS_OK if it matches or NS_ERROR if it
does not match or if no authorization procedure is registered.
Ns_SetRequestAuthorizeProc(server, procPtr)

Register the URL request authorization function.
This function is called by Ns_AuthorizeRequest and should return
one of the four values give above for Ns_AuthorizeRequest.
Ns_SetUserAuthorizeProc(procPtr)

Register the user authorization function. This
function is called by Ns_AuthorizeUser and should return either
NS_OK or NS_ERROR.

SEE ALSO

nsd(1), info(n)

KEYWORDS

Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout