Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Autenticação SVN usando MySQL


Em primeiro lugar a diferença.

mod_authn_dbd fornece front-ends de autenticação como mod_auth_digest e mod_auth_basic para autenticar usuários pesquisando usuários em tabelas SQL.

mod_auth_mysql é um módulo do Apache que permite autenticação usando dados de usuários e grupos armazenados em bancos de dados MySQL. O projeto parece não ter sido atualizado desde 2005, então eu usaria mod_authn_dbd .

Para configurar isso corretamente, primeiro você precisa configurar o mod_authn_dbd e o mod_dbd corretamente em sua configuração do apache, o mod_dbd cuida da sua conexão com o banco de dados. Depois de fazer isso (certifique-se de que seu Apache está rodando com esses módulos ativos), então você pode continuar configurando-os.

Adicione algo assim à sua configuração do apache para configurar a conexão do banco de dados:
<IfModule mod_dbd.c>
  DBDriver mysql
  DBDParams "host=(your_db_server, p.e. 127.0.0.1) dbname=your_db_name user=your_db_user pass=your_db_pass"
  DBDMin 1
  DBDKeep 8
  DBDMax 20
  DBDExptime 200
</IfModule> 

Agora adicione sua configuração de autenticação desejada na configuração do apache:
<Directory "/your/svn/repository/path/">
  Options FollowSymLinks Indexes MultiViews
  AuthType Basic
  AuthName "Allowed users Only"
  AuthBasicProvider dbd
  AuthDBDUserPWQuery "SELECT pwd FROM tbl_users, tbl_user_group WHERE tbl_users.user_id=%s AND tbl_user.user_id=tbl_user_group.user_id"
  Require valid-user
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>

Simplifiquei a instrução SELECT para melhor legibilidade, você precisa expandi-la para refinar sua configuração.

EDITAR:

Depois de digitar, encontrei um exemplo muito bom na web, talvez leia aqui , também. É muito mais profundo do que a minha resposta simplificada.