利用Apache与mod_wsgi 实现svn 动态权限鉴定(二)
2016-10-13 14:57
429 查看
前面已经写到可以通过wsgi 可以实现动态的svn密码鉴定,但是还不够,因为svn还要组的概念在里面,
原先通过django手册和mod_wsgi手册里面的配置:
https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/apache-auth/ https://modwsgi.readthedocs.io/en/develop/user-guides/access-control-mechanisms.html#http-user-authentication
发现 WSGIAuthGroupScript 这个配置根本就不起作用,经过反复测试还是没有去执行里面的脚本
这个是我的配置:
发现根据手册里面说group这个配置会执行一个
百度和谷歌上面也是没有一点资料
最终在无意间看到了git上面的一个issue 才发现原来
https://github.com/GrahamDumpleton/mod_wsgi/issues/25
在配置还需要加上
而我前面一直是
所以Apache根本就不会去执行 WSGIAuthGroupScript 上面配置脚本
总结下:
官方手册上如果有坑,真是会害死人啊!~~
目前还有一个问题:
虽然已经可以动态对svn的账户进行动态鉴权,在根据手册上面所述的,wsgi会去运行check_password和groups_for_user这两个方法但是,他们返回的都只是一个是True或者False 一个是groups的一个数组,而wsgi获取到这两个返回值如果不符合条件就会直接返回给svn客户端,svn客户端会马上弹出一个basic认证的窗口让用户再填写账户密码,这样就很影响用户体验的,不知道是否有大虾能够熟悉wsgi机制以及wsgi auth权限鉴定的,能来解决我的问题:只要用户再svn客户端登录成功了,但是他没有写入权限,只要他上传一个文件的时候就直接返回一个错误或者提示给用户,而不是弹出一个用户登录框出来。
原先通过django手册和mod_wsgi手册里面的配置:
https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/apache-auth/ https://modwsgi.readthedocs.io/en/develop/user-guides/access-control-mechanisms.html#http-user-authentication
发现 WSGIAuthGroupScript 这个配置根本就不起作用,经过反复测试还是没有去执行里面的脚本
这个是我的配置:
<Location /> DAV svn SVNParentPath /var/svn/repos AuthType Basic AuthName "Authorization SVN" AuthBasicProvider wsgi WSGIAuthUserScript /var/www/auth.wsgi WSGIAuthGroupScript /var/www/auth.wsgi Require group secret-agents Require valid-user </Location>
发现根据手册里面说group这个配置会执行一个
groups_for_user的方法,但是在去svn客户端请求的时候,groups_for_user 这个方法根本就没有执行,
百度和谷歌上面也是没有一点资料
最终在无意间看到了git上面的一个issue 才发现原来
https://github.com/GrahamDumpleton/mod_wsgi/issues/25
在配置还需要加上
Require wsgi-group secret-agents
而我前面一直是
Require group secret-agents
所以Apache根本就不会去执行 WSGIAuthGroupScript 上面配置脚本
总结下:
官方手册上如果有坑,真是会害死人啊!~~
目前还有一个问题:
虽然已经可以动态对svn的账户进行动态鉴权,在根据手册上面所述的,wsgi会去运行check_password和groups_for_user这两个方法但是,他们返回的都只是一个是True或者False 一个是groups的一个数组,而wsgi获取到这两个返回值如果不符合条件就会直接返回给svn客户端,svn客户端会马上弹出一个basic认证的窗口让用户再填写账户密码,这样就很影响用户体验的,不知道是否有大虾能够熟悉wsgi机制以及wsgi auth权限鉴定的,能来解决我的问题:只要用户再svn客户端登录成功了,但是他没有写入权限,只要他上传一个文件的时候就直接返回一个错误或者提示给用户,而不是弹出一个用户登录框出来。
相关文章推荐
- 利用Apache与mod_wsgi 实现svn 动态权限鉴定(一)
- 利用mod_proxy实现Apache和Tomcat整合负载均衡
- 利用Apache mod_expires 与 mod_headers 实现文件缓存及mod_deflate压缩输出
- 利用Apache mod_expires 与 mod_headers 实现文件缓存及mod_deflate压缩输出
- 利用apache的mod_headers模块实现文件缓存
- PHP利用htaccess文件实现伪静态(Apache mod_rewrite)
- Android开发之利用注解简单实现动态权限申请
- __利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载
- 基于SSM的RBAC权限系统(5)-利用ajax,JQuery实现动态搜索
- 利用Apache mod_expires 与 mod_headers 实现文件缓存及mod_deflate压缩输出
- 用Perl编写Apache模块续二 - SVN动态鉴权实现SVNAuth 禅道版
- 利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(二)(网内首发超详细版)
- 利用Apache mod_expires 与 mod_headers 实现文件缓存及mod_deflate压缩输出
- linux下利用mod-jk实现apache和tomcat整合
- 利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(三)(网内首发超详细版)
- 利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载
- 利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(五)(网内首发超详细版)
- JAVAWEB开发之Servlet3.0新特性的使用以及注解的详细使用和自定义注解的方法、动态代理的使用、利用动态代理实现细粒度的权限控制以及类加载和泛型反射
- 利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载
- 利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载