/usr/src/redhat/BUILD/httpd-2.2.3/modules/aaa/mod_auth.h

説明を見る。
00001 /* Licensed to the Apache Software Foundation (ASF) under one or more
00002  * contributor license agreements.  See the NOTICE file distributed with
00003  * this work for additional information regarding copyright ownership.
00004  * The ASF licenses this file to You under the Apache License, Version 2.0
00005  * (the "License"); you may not use this file except in compliance with
00006  * the License.  You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00025 #ifndef APACHE_MOD_AUTH_H
00026 #define APACHE_MOD_AUTH_H
00027 
00028 #include "apr_pools.h"
00029 #include "apr_hash.h"
00030 
00031 #include "httpd.h"
00032 
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036 
00037 #define AUTHN_PROVIDER_GROUP "authn"
00038 #define AUTHN_DEFAULT_PROVIDER "file"
00039     
00040 #define AUTHZ_GROUP_NOTE "authz_group_note"
00041 #define AUTHN_PROVIDER_NAME_NOTE "authn_provider_name"
00042 
00043 typedef enum {
00044     AUTH_DENIED,
00045     AUTH_GRANTED,
00046     AUTH_USER_FOUND,
00047     AUTH_USER_NOT_FOUND,
00048     AUTH_GENERAL_ERROR
00049 } authn_status;
00050 
00051 typedef struct {
00052     /* Given a username and password, expected to return AUTH_GRANTED
00053      * if we can validate this user/password combination.
00054      */
00055     authn_status (*check_password)(request_rec *r, const char *user,
00056                                   const char *password);
00057 
00058     /* Given a user and realm, expected to return AUTH_USER_FOUND if we
00059      * can find a md5 hash of 'user:realm:password'
00060      */
00061     authn_status (*get_realm_hash)(request_rec *r, const char *user,
00062                                    const char *realm, char **rethash);
00063 } authn_provider;
00064 
00065 /* A linked-list of authn providers. */
00066 typedef struct authn_provider_list authn_provider_list;
00067 
00068 struct authn_provider_list {
00069     const char *provider_name;
00070     const authn_provider *provider;
00071     authn_provider_list *next;
00072 };
00073 
00074 typedef struct {
00075     /* For a given user, return a hash of all groups the user belongs to.  */
00076     apr_hash_t * (*get_user_groups)(request_rec *r, const char *user);
00077 } authz_provider;
00078 
00079 #ifdef __cplusplus
00080 }
00081 #endif
00082 
00083 #endif

Apacheに対してSun Jul 19 22:05:23 2009に生成されました。  doxygen 1.4.7