发新话题
打印

[求助] 谁配置过svn客户端修改用户密码的?( 此文章被查看:1132次,被回复:4篇!! )

谁配置过svn客户端修改用户密码的?

大虾们,问下,谁配置过svn客户端修改密码啊?我在网上下载了个页面,修改用户密码的,apache也装了,页面可以解析出来,但就是修改不了密码,一直提示“原密码错误”,可原密码是没有错的,有谁指导下呢?小妹在此先谢了!
下面是index.php的页面代码
<?
/*
Alias /polaris "/svn/"
<Directory "/svn/">
Require valid-user

AuthType Basic
AuthName "Subversion Tools"
AuthUserFile /home/svnroot/conf/passwd.conf
</Directory>
*/
?>
<?
//$username = $_SERVER["PHP_AUTH_USER"]; //经过 AuthType Basic 认证的用户名
$username = (isset($_REQUEST["username"]) ? $_REQUEST["username"] : "");
printf($username);
$authed_pass = $_SERVER["PHP_AUTH_PW"]; //经过 AuthType Basic 认证的密码
printf($authed_pass);
$input_oldpass = (isset($_REQUEST["oldpass"]) ? $_REQUEST["oldpass"] : ""); //从界面上输入的原密码
printf($input_oldpass);
$newpass = (isset($_REQUEST["newpass"]) ? $_REQUEST["newpass"] : ""); //界面上输入的新密码
$repeatpass = (isset($_REQUEST["repeatpass"]) ? $_REQUEST["repeatpass"] : ""); //界面上输入的重复密码
$action = (isset($_REQUEST["action"]) ? $_REQUEST["action"] : ""); //以hide方式提交到服务器的action

if($action!="modify"){
$action = "view";
}
else if($authed_pass!=$input_oldpass){
$action = "oldpasswrong";
}
else if(empty($newpass)){
$action = "passempty";
}
else if($newpass!=$repeatpass){
$action = "passnotsame";
}
else{
$action = "modify";
}
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Subversion 在线自助密码修改</title>
</head>
<body>

<?
//action=view 显示普通的输入信息
if ($action == "view"){
?>
<script language = "javaScript">
<!--
function loginIn(myform)
{
var newpass=myform.newpass.value;
var repeatpass=myform.repeatpass.value;

if(newpass==""){
alert("请输入密码!");
return false;
}

if(repeatpass==""){
alert("请重复输入密码!");
return false;
}

if(newpass!=repeatpass){
alert("两次输入密码不一致,请重新输入!");
return false;
}
return true;
}
//-->
</script>
<style type="text/css">
<!--
table {
border: 1px solid #CCCCCC;
background-color: #f9f9f9;
text-align: center;
vertical-align: middle;
font-size: 9pt;
line-height: 15px;
}
th {
font-weight: bold;
line-height: 20px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-bottom-style: solid;
color: #333333;
background-color: f6f6f6;
}
input{
height: 18px;
}
.button {
height: 20px;
}

-->
</style>
<br><br><br>
<form method="post">
<input type="hidden" name="action" value="modify"/>
<table width="220" cellpadding="3" cellspacing="8" align="center">
<tr>
<th colspan=2>Subversion 密码修改</th>
</tr>
<tr>
<td>用 户 名:</td>
<td><input type=text size=12 name="username"></td>
</tr>
<tr>
<td>原 密 码:</td>
<td><input type=password size=12 name=oldpass></td>
</tr>
<tr>
<td>用户密码:</td>
<td><input type=password size=12 name=newpass></td>
</tr>
<tr>
<td>确认密码:</td>
<td><input type=password size=12 name=repeatpass></td>
</tr>
<tr>
<td colspan=2>
<input onclick="return loginIn(this.form)" class="button" type=submit value="修 改">
<input name="reset" type=reset class="button" value="取 消">
</td>
</tr>
</table>
</form>
<?
}
else if($action == "oldpasswrong"){
$msg="原密码错误!";
}
else if($action == "passempty"){
$msg="请输入新密码!";
}
else if($action == "passnotsame"){
$msg="两次输入密码不一致,请重新输入!";
}
else{
$passwdfile="/home/svnroot/conf/passwd.conf";
$command='"/usr/local/apache2/bin/htpasswd"  '.$passwdfile." ".$username." ".$newpass;
system($command, $result);
if($result==0){
$msg="用户[".$username."]密码修改成功,请用新密码登陆.";
}
else{
$msg="用户[".$username."]密码修改失败,返回值为".$result.",请和管理员联系!";
}
}

if (isset($msg)){
?>
<script language="javaScript">
<!--
alert("<?=$msg?>");
window.location.href="<?=$_SERVER["PHP_SELF"]?>"
//-->
</script>
<?
}
?>
</body>
</html>



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

TOP

你很强是自己写代码,我借用svnmanager的用户管理功能实现客户端修改密码的!



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

TOP

看这一句:$authed_pass = $_SERVER["PHP_AUTH_PW"]; //经过 AuthType Basic 认证的密码
$authed_pass获得的是经过加密的密码,而$input_oldpass获得是没经过加密的原始密码,
两者当然不匹配。这样会报密码错误了。
除非你将$input_oldpass先进行同样算法的加密,再与$authed_pass比较才可行。
--------------------
http://www.scmbbs.com



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

TOP

有没SVN独立服务器客户端修改自己 密码的,请提供。

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

TOP

请参照SVN实用FAQ第九个问题,以下是链接
http://bbs.scmlife.com/thread-13990-1-1.html

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

TOP

发新话题