美文网首页
Svn基于mysql做登陆认证

Svn基于mysql做登陆认证

作者: 米开朗基乐 | 来源:发表于2019-02-28 14:47 被阅读0次

不做权限控制的登陆认证

  1. 基础环境
    Centos 6
    Apache 2.2
    Svn 1.6
    Mysql 5.1
yum -y install mysql mysql-devel mysql-server httpd mod_auth_mysql subversion mod_dav_svn
 * mod_auth_mysql  实现Apache的MySQL认证
 * subversion      SVN软件包
 * mod_dav_svn     Subversion与Apache之间的接口,通过它,Apache就可以访问版本库,并且可以让客户端也使用HTTP的扩展协议WebDAV/DeltaV进行访问。
  1. Svn配置
#mkdir -p /data/svn/            *创建测试目录。          
#svnadmin create /data/svn/test *在提供的路径上创建一个新的空的版本库,如果提供的目录不存在,它会为你创建。
#授予项目Apache的权限
#chown apache.apache /data/svn/ -R 
#chmod 755 /data/svn/ -R
  1. Apache配置
httpd.conf文件配置加载模块
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
LoadModule mysql_auth_module modules/mod_auth_mysql.so

<Location /resvn>
    # 开启DAV模块支持
    DAV svn
    # 项目的目录
    SVNPath /data/svn/test
    # 认证名称
    AuthName Subversion
    # 开启Mysql认证
    AuthMYSQLEnable on
    # 基本认证
    AuthType Basic
    # md5加密类型
    AuthMySQLPwEncryption md5
    # 连接数据库地址
    AuthMySQLHost 192.168.9.53
    # 连接数据库用户
    AuthMySQLUser uct
    # 连接数据库密码
    AuthMySQLPassword uct
    # 连接数据库库名
    AuthMySQLDB uct
    # 连接数据库表名
    AuthMySQLUserTable uct_user
    # 连接数据库用户名
    AuthMySQLNameField user_ename
    # 连接数据库密码
    AuthMySQLPasswordField user_pass
    # 表示只有认证的用户才能登陆
    Require valid-user
</Location>

重启apache服务:service httpd restart

  1. MySQL配置 --可以使用已有数据库测试
#mysql -uroot -p                *登录数据库
 1) 创建认证信息的数据库
mysql>create database svn_auth; *创建一个svn_auth数据库。
mysql>use svn_auth;             *切换到这个数据库上。
mysql>grant all privileges on *.* to svn@'%'identified by ‘123456’with grant option;  *授予svn这个用户访问数据库的权限。
 2)创建认证信息的表
mysql> CREATE TABLE users (
->   user_name CHAR(30) NOT NULL,
->   user_passwd CHAR(50) NOT NULL,
->   PRIMARY KEY (user_name)    *数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。
-> );
 3)创建认证测试账号,密码都是123456
mysql> insert into svn_auth.users values('test100',md5('123456'));
mysql> insert into svn_auth.users values('eeyy01',md5('123456'));

修改/etc/my.cnf文件

#cat /etc/my.cnf(下面是部分内容)
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
skip_grant_tables  *启动mysql时不启动grant-tables授权表。
*不然会报[error] [client 172.18.107.176] MySQL ERROR: Access denied for user 'svn'@'localhost' (using password: YES)。这样会导致账号无法通过验证。
# service mysqld restart
停止 mysqld:                                              [确定]
正在启动 mysqld:                                          [确定]
  1. 浏览器测试
    在浏览器上访问版本库http://IP/resvn
    用test100这个用户登录test版本库

  2. Svn客户端测试
    使用svn checkout导出版本库地址写浏览器访问的地址,
    选择保存目录,点OK导出
    新建个文件,提交svn,然后在浏览器查看刚刚提交的文件

相关文章

  • Svn基于mysql做登陆认证

    不做权限控制的登陆认证 基础环境Centos 6Apache 2.2Svn 1.6Mysql 5.1 Svn配置 ...

  • svn command

    1、查看svn下账号认证svn auth2、删除svn认证账号rm -rf auth 3、检出svn checko...

  • SpringBoot + Swagger + SpringSec

    SpringBoot + Swagger + SpringSecurity + Jwt做登陆认证 @author ...

  • SSH基于KEY的验证登陆

    本机生成公钥私钥对把本机公钥copy给以后免密码登陆的主机 基于key认证基于密钥的认证:(1) 在客户端生成密钥...

  • svn&apache&mysql 认证搭建

    1.环境 centos5.5 2.安装svn yum -y install subversion 3.配置 建立版...

  • mongodb认证问题

    在自己搭建测试环境的时候,创建用户,创建数据库,打开认证,认证登陆,然后发现认证登陆的时候不能登陆上去,打开日志,...

  • Spring Security(Mysql)

    Spring Security基于Mysql身份验证(自定义认证,基于角色),由于业务的复杂性我们不可能使用spr...

  • (一)Asp.Net Core 核心模块:Cookie-base

    介绍 Asp.NetCore Mvc 认证授权的过程,基于Cookie 的认证方式,通常用于网站做认证授权 实战 ...

  • linux安装mysql

    安装mysql server mysql操作命令 登陆mysql 如果登陆报错 参考:https://blog.c...

  • github oauth 第三方认证登录

    认证和授权 认证(Authentication) 常用的身份认证的方式:1、用户名和密码登陆2、邮箱发送登陆链接3...

网友评论

      本文标题:Svn基于mysql做登陆认证

      本文链接:https://www.haomeiwen.com/subject/cowhuqtx.html