到CollabNet SubversionEdge-1.3.0的用户管理等相关问题
用户管理
SubversionEdge分两类用户:版本库授权用户和控制台用户。 控制台默认用户是:admin,密码admin;版本库默认用户admin,密码admin。但两者保存位置是分开的,账户和密码都是可以分开的。
控制台用户管理默认是只能增加用户,增加用户默认同时在版本库授权用户文件中增加该用户。反正我装修改删除用户都是出现下面的信息:
HTTP ERROR 404Problem accessing /csvn/user/index. Reason:
Not Found
--------------------------------------------------------------------------------Powered by Jetty://
控制台用户管理:
相关重要文件:{安装路径}\data\csvn-production-hsqldb.script 和{安装路径}\data\csvn-production-hsqldb.properties
原理推测(可能不正确):
我找了几天后来才发现,控制台管理用的是hsql数据库,并且数据全部存储在内存中。 第一步:服务启动(指服务CollabNetSubversionServer绑定的httpd.exe)时,执行csvn-production-hsqldb.script在内存中初始化表和数据; 第二步:期间的所有操作都是保存在内存中; 第三步:服务关闭是,内存中的所有数据更新到csvn-production-hsqldb.script文件中。
因为无法在页面修改删除用户,所以采用关闭服务修改csvn-production-hsqldb.script的方式可以实现用户的管理。
csvn-production-hsqldb.script示例:
CREATE SCHEMA PUBLIC AUTHORIZATION DBACREATE MEMORY TABLE CATEGORY(ID BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY,VERSION BIGINT NOT NULL,NAME VARCHAR(255) NOT NULL)...........................INSERT INTO USER VALUES(1,1,'admin user','admin@rouselife.com',TRUE,'0ef9a776d895692b2710e8b996f12af6','Super Administrator','admin')
修改密码
因为htpasswd采用的密码MD5后进行了散列,所有同样密码每次出的字符串也是不同的,也没有时间验证上述0ef9a776d895692b2710e8b996f12af6是否为密码MD5后的标准值。 我的做法是:
先新建个知道密码的用户,然后关闭服务(从控制台或Win服务界面,有两个服务:CollabNetSubversionServer和CollabNet Subversion Edge),这时再打开csvn-production-hsqldb.script文件时文件末尾就会增加刚才的用户,用新的密码替换掉0ef9a776d895692b2710e8b996f12af6即可。(切忌:一定要停止服务后修改才有效,否则脚本文件会被覆盖掉。) 删除用户
关闭上面两个服务后删除csvn-production-hsqldb.script文件末尾的制定用户后启动服务即可。
版本库授权用户管理: 用户存储文件为{安装路径}\data\conf\svn_auth_file,使用{安装路径}\bin\htpasswd.exe进行管理。
需要在控制台下运行,以下为输出内容(先打印三次 用户名/密码的文件存储值,然后再增加用户,最后删除用户):
Microsoft Windows [版本 6.1.7600]版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\meteor>d:
D:\>cd D:\csvn\bin
D:\csvn\bin>htpasswdUsage: htpasswd [-cmdpsD] passwordfile username htpasswd -b[cmdpsD] passwordfile username password
htpasswd -n[mdps] username htpasswd -nb[mdps] username password -c Create a new file. -n Don't update file; display results on stdout. -m Force MD5 encryption of the password (default). -d Force CRYPT encryption of the password. -p Do not encrypt the password (plaintext). -s Force SHA encryption of the password. -b Use the password from the command line rather than prompting for it. -D Delete the specified user.On Windows, NetWare and TPF systems the '-m' flag is used by default.On all other systems, the '-p' flag will probably not work.
D:\csvn\bin>htpasswd -nb test testAutomatically using MD5 format.test:$apr1$8zaa10Xj$H5vxdhlLDGCo94D5Xkfeu.
D:\csvn\bin>htpasswd -nb test testAutomatically using MD5 format.test:$apr1$SlijYX9/$ahxS8zf3PPZHszCNump17/
D:\csvn\bin>htpasswd -nb test testAutomatically using MD5 format.test:$apr1$kTeZJZWN$lg0VepXgOfutEgCd1kaM8.
//增加用户D:\csvn\bin>htpasswd -b D:\csvn\data\conf\svn_auth_file test testAutomatically using MD5 format.Adding password for user test
//删除用户
D:\csvn\bin>htpasswd -D D:\csvn\data\conf\svn_auth_file testAutomatically using MD5 format.Deleting password for user test
D:\csvn\bin>
由以上可以看到密码test 3次均得到完全不同的散列值。
版本库管理
通过在线控制台的 管理->服务器配置 可以设置版本库存放路径(如下图):
可以在线增加版本库,在线增加版本库只支持小写字母和下划线,不支持大写字母。 也可以直接拷贝其它Subversion的版本库到版本库存放路径,Subversion Edge会发现该版本库(在线 版本库->发现版本库 )。 删除版本库可以直接在版本库存放路径下直接删除版本库,然后在线用发现版本库同步一下即可。
客户端一般采用TSVN就好。
转载:http://www.sadtojoy.com/aspx/Detail.aspx?id=3743
转载于:https://www.cnblogs.com/wuhenke/archive/2011/10/23/2221780.html