上一篇文章我们介绍了LDAP的部署以及管理维护,那么如何接入LDAP实现账号统一认证呢?这篇文章将带你完成svn的接入验证

subversion集成OpenLDAP认证

  • 系统环境:debian8.4
  • svn部署环境:apache2.4 + Subversion
  1. apache开启LDAP相关模块
# a2enmod ldap
Enabling module ldap.
To activate the new configuration, you need to run:
service apache2 restart
# a2enmod authnz_ldap
Considering dependency ldap for authnz_ldap:
Module ldap already enabled
Enabling module authnz_ldap.
To activate the new configuration, you need to run:
service apache2 restart
  1. 修改vhost配置文件,添加对ldap的支持
<Virtualhost *:8088>
DocumentRoot /home/svn/repos/
ServerName svn.blz.netease.com <Location /ne/>
DAV svn
SVNListParentPath on
SVNParentPath "/home/svn/repos" AuthType Basic
AuthName "Netease&Blizzard Subversion Repository" #AuthUserFile "/etc/subversion/dav_svn.passwd"
AuthzSVNAccessFile "/etc/subversion/dav_svn.authz" # use LDAP auth
AuthBasicProvider ldap
AuthLDAPBindAuthoritative on
AuthLDAPURL "ldap://ldap.blz.netease.com/dc=blz,dc=internal?uid?sub?(objectclass=*)"
AuthLDAPBindDN "uid=authz,ou=Public,dc=blz,dc=internal"
AuthLDAPBindPassword "ImNVZODT884" Require ldap-user </Location>
</Virtualhost>

主要LDAP配置文件详解:

  • AuthType:验证类型,Basic使用账号密码验证
  • AuthName:提示字符串
  • AuthBasicProvider:使用ldap验证
  • AuthLDAPBindAuthoritative:on表示只要求验证ldap用户,别的不认,off则可以使用svn的账号和ldap混合账号登录
    • apache2.2中配置是AuthzLDAPAuthoritative,到2.4中改为了AuthLDAPBindAuthoritative
    • 但在实际应用中发现并么有什么用,设置为off后ldap认证失败也不会去找AuthzSVNAccessFile,或许是我姿势不对,有知道原因的烦请告知
  • Require:ldap-user或valid-user
  • AuthLDAPURL | AuthLDAPBindDN | AuthLDAPBindPassword: 用于查找用户的账号密码,一般设置个只读账号即可
    • AuthLDAPURL:[协议名称]

      LDAP落地实战(二):SVN集成OpenLDAP认证的更多相关文章

      1. LDAP落地实战(四):Jenkins集成OpenLDAP认证

        前几篇分文章分别介绍了OpenLDAP的部署管理和维护以及svn.git的接入,今天我们再下一城接入jenkins. 前情提要:LDAP系列文章 LDAP落地实战(一):OpenLDAP部署及管理维护 ...

      2. LDAP落地实战(三):GitLab集成OpenLDAP认证

        上一篇文章介绍了svn集成OpenLDAP认证,版本控制除了svn外,git目前也被越来越多的开发者所喜爱,本文将介绍GitLab如何集成openldap实现账号认证 GitLab集成OpenLDAP ...

      3. LDAP落地实战(一):OpenLDAP部署及管理维护

        公司内部会有许多第三方系统或服务,例如Svn,Git,VPN,Jira,Jenkins等等,每个系统都需要维护一份账号密码以支持用户认证,当然公司也会有许多的主机或服务器,需要开放登录权限给用户登录使 ...

      4. Django集成OpenLDAP认证

        本文详细介绍了django-auth-ldap的使用方法,参数含义,并提供了示例代码 版本说明 Django==2.2 django-auth-ldap==1.7.0 集成过程 Django集成LDA ...

      5. Spring Boot实战二:集成Mybatis

        Spring Boot集成Mybatis非常简单,在之前搭建好的项目中加入Mybatis依赖的jar,在配置文件中加入数据库配置即可,如下图所示: 创建对应的Controller.Service.Da ...

      6. ldap配置系列二:jenkins集成ldap

        ldap配置系列二:jenkins集成ldap jenkins简介 jenkins是一个独立的.开放源码的自动化服务器,它可以用于自动化与构建.测试.交付或部署软件相关的各种任务. jenkins官方 ...

      7. Spring Boot 项目实战(二)集成 Logback

        一.前言 上篇介绍了 Spring Boot Maven 多模块项目的搭建方法以及 MyBatis 的集成.通常在调试接口或者排查问题时我们主要借助于日志,一个设计合理的日志文件配置能大大降低我们的排 ...

      8. svn使用openldap验证apache访问方式

        启用svn服务器的sasl验证机制 1.安装cyrus-sasl认证包 # yum install -y *sasl* # rpm -qa|grep sasl cyrus-sasl-2.1.23-15 ...

      9. 最佳实战Docker持续集成图文详解

        最佳实战Docker持续集成图文详解 这是一种真正的容器级的实现,这个带来的好处,不仅仅是效率的提升,更是一种变革:开发人员第一次真正为自己的代码负责——终于可以跳过运维和测试部门,自主维护运行环境( ...

      随机推荐

      1. numpy.sort()学习记录

        python的功能真的是只有我想不到,没有它做不到 在学系np.sort中学到了一些 print(array2) [14 13 12 11] [10 9 8 7] [ 6 5 4 3] print(n ...

      2. DBCC--CHECKDB--结果收集

        --由宋沄剑提供 CREATE TABLE [dbo].[dbcc_history]( [Error] [int] NULL, [Level] [int] NULL, [State] [int] NU ...

      3. [翻译]NUnit---TestCase Attributes(二十一)

        TestCaseAttribute (NUnit 2.5) TestCase特性有两个效果,包括标记一个方法使用参数并且在调用的时候提供内置数据.示例如下,本示例会使用不同数据集执行3次: [Test ...

      4. asp.net缓存使用介绍

        介绍: 在我解释cache管理机制时,首先让我阐明下一个观念:IE下面的数据管理.每个人都会用不同的方法去解决如何在IE在管理数据.有的会提到用状态管理,有的提到的cache管理,这里我比较喜欢cac ...

      5. CentOS7布署.Net Core

        本文记录的所有东西,都是吸取别人的经验,自己实践得来,记录下来,也是为了某一天,用上的时候,能够更加的得心应手,平日的学习,都是未雨绸缪之举,但愿,这些笔记,也能帮上正在摸索的你. 第一步,下载虚拟机 ...

      6. sql添加字段说明

        1,sql字段说明 添加 exec sp_addextendedproperty  N'MS_Description', N'主键', N'user', N'dbo', N'table', N'Fre ...

      7. KVM halt-polling机制分析

        本文由作者朱益军授权网易云社区发布. 简介 在实际业务中,guest执行HLT指令是导致虚拟化overhead的一个重要原因.如[1]. KVM halt polling特性就是为了解决这一个问题被引 ...

      8. JavaScript模块化与esl.js

        2016-2-2 晚上 松合时代公寓中 1.前端为什么需要模块化? http://requirejs.org/docs/why.html 2.https://github.com/ecomfe/esl ...

      9. NGINX部署

      10. Day4 作业

        a=[1,2,3,6,"dfs",100]s=a[-1:]print (s)答案:[100] s=a[-1:0:-1]print(s) 答案:[100, 'dfs', 6, 3, ...