发新话题
打印

[原创] Apache和subversion认证mysql数据库方式( 此文章被查看:2312次,被回复:1篇!! )

Apache和subversion认证mysql数据库方式

Apachesubversion认证mysql数据库方式

李树仁2005-10-28


       在安装apache时要选择apache的模块mysql_auth_module,否则要自己安装该模块,该模块下载网址是:
       http://prdownloads.sourceforge.net/modauthmysql/mod_auth_mysql-3.0.0.tar.gz?download
       在安装linux时可以选择安装apache和模块mysql_auth_module
       安装完模块后在/etc/httpd/conf.d目录下有auth_mysql.conf配置文件,根据配置内容进行数据库创建、表和user的创建。根据需要来创建用户表和组表。例如:

       #    CREATE DATABASE http_auth;
#    USE auth;
#创建表usersgroups
#    CREATE TABLE users (
#      user_name CHAR(30) NOT NULL,
#      user_passwd CHAR(20) NOT NULL,
#      PRIMARY KEY (user_name)
#    );
#    CREATE TABLE groups (
#      user_name CHAR(30) NOT NULL,
#      user_group CHAR(20) NOT NULL,
#      PRIMARY KEY (user_name, user_group)
#    );
#授权给用户authuser来查询,任何一台计算机都可以查询数据库
#    GRANT SELECT
#      ON auth.users
#      TO authuser@localhost
#      IDENTIFIED BY 'PaSsW0Rd';
#    GRANT SELECT
#      ON auth.users
#      TO authuser@'%'
#      IDENTIFIED BY 'PaSsW0Rd';


#    GRANT SELECT
#      ON auth.groups
#      TO authuser@localhost
#      IDENTIFIED BY 'PaSsW0Rd';

#    GRANT SELECT
#      ON auth.groups
#      TO authuser@'%'
#      IDENTIFIED BY 'PaSsW0Rd';


#插入用户和组数据
#    INSERT INTO users VALUES ('test user',  ENCRYPT('testpass'));
#    INSERT INTO groups VALUES ('testuser', 'user');
#    INSERT INTO users VALUES ('testadmin', ENCRYPT('testpass'));
#    INSERT INTO groups VALUES ('testadmin', 'admin');
#    INSERT INTO groups VALUES ('testadmin', 'user');

这样在数据库建成后就可以对相应的web应用进行设置权限。例如:

#<Directory /var/www>
#    AuthName "MySQL group authenticated zone"
#    AuthType Basic
#
#    AuthMySQLUser authuser
#    AuthMySQLPassword PaSsW0Rd
#    AuthMySQLDB auth
#    AuthMySQLUserTable users
#    AuthMySQLNameField user_name
#    AuthMySQLPasswordField user_passwd
#    AuthMySQLGroupTable groups
#    AuthMySQLGroupField user_group
#
#    require group user
#</Directory>

如果是对subversion资源库进行认证的话,需要把配置信息放入到subvesion.conf配置文件中去。
最后需要特别说明的是:users 表中的 user_passwd 字段是采用 mysql encrypt() 加密的,而不是 password() ,更不是明码。

INSERT INTO users VALUES ('lsr',  ENCRYPT('lsr'));
INSERT INTO groups VALUES ('lsr', 'admin');

INSERT INTO users VALUES ('csdn',  ENCRYPT(csdn));
INSERT INTO groups VALUES (csdn, 'admin');




© 本文为 oases2008SCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员
我是李老四 IT求职笔试真题库 www.jblook.cn  站长

TOP

“Apache和subversion认证mysql数据库方式”
这都行,
厉害!不佩服不行。
mysql数据库最近发现用的挺多。
有机会得研究一下,先学习了。



© 本文为 CMStrugglingSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

发新话题