文档章节

HG 对账户的读写控制

宏哥
 宏哥
发布于 2012/11/28 14:41
字数 266
阅读 418
收藏 2

HG 可以根据 allow_push 和allow_read对账户进行控制, 但是用户认证, 我们往往在nginx 的auth basic来做.

这个时候, proxy 到hgweb 无法识别账户.  但是我们可以用fcgi的方式进行设置.

以fcgi方式运行hg 需要额外 flup支持, 并且只有fcgi模式可选. 脚本如下:

#!/usr/bin/python
#
# An example FastCGI script for use with flup, edit as necessary

# Path to repo or hgweb config to serve (see 'hg help hgweb')
config = "/var/hg/config/hgweb.config"

# Uncomment and adjust if Mercurial is not installed system-wide
# (consult "installed modules" path from 'hg debuginstall'):
#import sys; sys.path.insert(0, "/path/to/python/lib")

# Uncomment to send python tracebacks to the browser if an error occurs:
#import cgitb; cgitb.enable()

from mercurial import demandimport; demandimport.enable()
from mercurial.hgweb import hgweb
from flup.server.fcgi import WSGIServer
application = hgweb(config)
WSGIServer(application,bindAddress=('/var/hg/fcgi.sock')).run()
#WSGIServer(application).run()

对应 nginx 配置:

    location / {
#auth_basic     "Restricted";
#auth_basic_user_file /etc/nginx/protected.pass;


#Use flup to support Fastcgi
        fastcgi_pass unix:/var/hg/fcgi.sock;
        include        /etc/nginx/fastcgi_params;
        fastcgi_param SCRIPT_NAME /;
        fastcgi_param REMOTE_USER $remote_user;
    }

则可以通过nginx 来做authenciation, 而hg 根据访问列表来做authorization 控制.

需要特别注意红色部分, 否则hg 的链接会计算错误.


© 著作权归作者所有

宏哥

宏哥

粉丝 1147
博文 77
码字总数 16729
作品 0
长宁
程序员
私信 提问
MySQL中间件之ProxySQL(10):读写分离方法论

返回ProxySQL系列文章:http://www.cnblogs.com/f-ck-need-u/p/7586194.html 1.不同类型的读写分离 数据库中间件最基本的功能就是实现读写分离,ProxySQL当然也支持。而且ProxySQL支持的路由...

骏马金龙
2018/07/16
0
0
hg 的读写控制 -- 分账户

目前, 用户authentication 是通过 nginx的auth basic来做. 但是到 hgweb.config 这个配置文件, 如何控制不同用户过来 读写的授权控制?

宏哥
2012/11/25
268
1
TortoiseHg使用(hg mercurial repository management)

原来的公司使用的版本控制比较多,p4, svn, hg, 关于他们的优缺点可以到网上查,简单的说,p4 是给美术用的,没有上传限制。svn概念一般,没啥新意,集中式的。hg分布式的,仓库大小好像有限...

AdamWu
2012/11/05
785
2
用 hg 隔离各个库, 分代码, 可执行, 生产 qa, 开发 测试

HG的界面确实很简洁美观, 并且通过fastcgi的 auth basic进行隔离, 可以很好控制读写访问

宏哥
2012/11/26
106
0
MySQL中间件之ProxySQL(15):ProxySQL代理MySQL组复制

返回ProxySQL系列文章:http://www.cnblogs.com/f-ck-need-u/p/7586194.html 1.ProxySQL+组复制前言 在以前的ProxySQL版本中,要支持MySQL组复制(MGR,MySQL Group Replication)需要借助第三方...

骏马金龙
2018/07/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

58. 静态工厂方法

参考:https://www.jianshu.com/p/ceb5ec8f1174 https://www.jianshu.com/p/fa15f63d399a 1.定义 用一个静态方法来对外提供自身实例的方法,即为我们所说的静态工厂方法(Static factory met...

20190513
31分钟前
6
0
Mybatis之StatementHandler

mybatis-3.4.6.release. 图1 StatementHandler是对CallableStatement、PreparedStatement、Statement的统一封装,在JDK中CallableStatement继承PreparedStatement,PreparedStatement继承Sta......

克虏伯
50分钟前
5
0
遇到API安全问题怎么办?F5 API加固解决方案怎么样?

  在各种APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优在以前都采用自已定义的接口和结构,对于公开访问的接口,专业点的都会做...

梅丽莎好
今天
10
0
迁Aliyun Redis踩坑之路 - 实践总结

背景: 从自建 redis(CacheCloud)到迁移到 aliyun redis 1. 踩“坑”一 问题: 平常小伙伴们在项目中可能用到redis key expire nofity的场景(比如:处理延时任务等),但是发现迁移后 ke...

少年与海
今天
4
0
干货:Kibana 可视化ElasticSearch数据展示分析

当你把数据存入ES中后,怎么更方面的查看这些数据,还想用不同的维度去看这些数据,是不是纠结,不能再专门搞个后台显示把。这里有神器 Kibana 专门干这个事情的,可以帮你把ES中的数据,通过...

枕邊書
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部