svn php改客户端密码错误,实现svn用户客户端自助修改密码。

说明:

最近有一个小需求,须要在svn服务端作有一个修改密码网页能够经过用户手动去修改本用户的密码,而不是须要管理员登陆到服务器去修改密码,这样比较麻烦并且不安全。网上找了不少资料,大可能是经过PHP实现的,可是都有坑,在掌握了svn用户加解密原理后,决定本身写一个小页面。html

一.首先svn加密原理:python

ca014a5f4c00d5b3099210cfa907f0bd.png

47b742c287abf12f90ae12c9e96f0e62.png

其中:jiangzl:a

p

r

1

apr1apr1kFmw97MJ$rQnpkCqPwGndtYcmtIM9E1 表示的意思是web

1.jiangzl是对应的svn用户名。

2.$apr1$kFmw97MJ$rQnpkCqPwGndtYcmtIM9E1是加密后的密文,

svn使用的htpasswd加密原理是经过openssl的apr1对称加密方式进行加密;

对应的命令是:

openssl passwd -apr1 -salt kFmw97MJ mypassword#mypassword就是当前密码

3.因此$apr1$kFmw97MJ$rQnpkCqPwGndtYcmtIM9E1该密文是经过$符号为分割符进行命令的拼接方式进行加密的。

而修改svn用户密码的命令为:

htpasswd.exe -b htpasswd username password

掌握了svn加密和解密的方法后就能够实现用户验证和用户修改密码等功能了。django

二.环境部署准备:

1.安装下载和安装visualsvn:

我使用的是visualsvn3.9.5 64位的版本:浏览器

7107d5c15aa9a124607238b660428988.png

adb44a4856b6f1145410ad7b3915dbf5.png

个人svn服务器本地安装路径地址为:

E:\visualsvn

个人版本库存放路径为;

E:\Repositories

svn安装完毕后。

1.下载htpasswd.exe工具

https://pan.baidu.com/s/1KW143ILrZLC4jAn8QaPtqw 提取码:efz0

下载完毕后将该文件放入svn服务器本地安装路径地址内: E:\visualsvn\bin目录下.

fa7032c80991b5f664d1b1ad565a2829.png2.将E:\visualsvn\bin\openssl.exe即安装的svn目录下的openssl.exe设置为环境变量,在任何目录均可以运行

91a322bfcbc2646ac067434b88394230.png

3.安装python 2.7运行环境和pip 19.0.3和django 1.11版本的运行环境

970628005e2026e4a515570fa66daeda.png

8bb36248b10be57be5b939efde7c71d3.png

a24119756dafbc1f80369ab48d37f59e.png

安装步骤再也不详细说明能够参考下面几个博客:

https://blog.csdn.net/u012643122/article/details/80573082

安装步骤不变,注意更换版本便可。安全

4.下载svn密码修改页面文件。

https://pan.baidu.com/s/1SL0nOGC9ZXz2mzCy83wEPA 提取码:18bh

解压后:

7877999ddca5e712860240036bf5fb5f.png

在svnchangepassword\svnchangepassword\settings.py 目录下修改该文件settings.py的该文件:服务器

d02c228f1136a8f651ad90ae54c69533.png

5.在django项目下svnchangepassword目录下执行如下命令: 192.168.1.121 为本地IP,8090是页面访问地址。

e001b2a0120ace70b72471c8de5754ba.png

表示已经运行成功:

打开浏览器访问:http://192.168.1.121:8090/users/changepassword/ 表示已经部署成功:

60652ba3b3de8ae6e10711e4a86d75eb.png

265a8b8e760f6ad58c672ec708ff1350.pngapp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值