一.VisualSvn Server 这个软件大家都知道,具体使用时创建用户名暗码和组时,每次都要登陆到VisualSvn Server地址的机器上,次次如此...
由于一些原因要把这个用户打点的成果集成到OA中,这样可以OA中集中打点SVN的帐号(所有措施都是基于局域网使用)
二.VisualSvn Server的帐户文件存在当前Repositories下的 htpasswd 文件中,格局为 用户名:xxxxxxxxxxxxxxxxxxxxxxxxxx(x为加密后的暗码字符串)
这样需要解决的关键就在于怎么样得到暗码加密后的字符串.通过google找到了一个C#实现htpasswd加密的类库"CryptSharp", site:https://www.zer7.com/software/cryptsharp (不需要FQ)
三.使用代码要领
using CryptSharp;
string cryptedPassword = Crypter.MD5.Crypt(password, new CrypterOptions()
{
{ CrypterOption.Variant, MD5CrypterVariant.Apache }
});
校验要领
bool matches = Crypter.CheckPassword(testPassword, cryptedPassword);
固然,这个类库还撑持其它加密要领,具体请参照类库的网站
上述代码,通过手动替换我本身的VisualSvn Server的处事器上的用户的暗码,测试通过
四.关键的问题解决后,回到 一中要解决的问题,这里只是一个思路
我的想法是, OA会部署到一台处事器上,web形式的,无法直接改削VisualSvn Server的暗码文件,所以还需要在VisualSvn Server的那台机器上运行一个代办代理措施,由这个代办代理措施来实现具体的暗码文件的读写
像这样, OA(web)-->代办代理措施-->读写暗码文件并返回功效
接下来会凭据这个思路来实现这个成果
五.不知道大家有没有更好解决方案,但愿大家能提出本身的定见
,