上一篇文章我们介绍了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. day16(jdbc进阶,jdbc之dbUtils)

        1.jdbc进阶 jdbc事务管理 jdbc中的事务管理其实就是交给了连接对象去管理.先写一个简单的事务管理 public class Demo01 { private static Connecti ...

      2. hdu 1877

        题目 一个进制转换的题,注意0+0的情况 代码如下: #include <cstdio> int d[1000]; void solve(int n,int base) { int p = ...

      3. ACL登陆认证

        前篇文章ACL授权实例介绍了授权,授权完成之后,就要进行认证.ACL的认证主要分为登陆认证与即时认证.所谓登录认证就是在用户登陆的时候,进行信息认证.根据用户Id,加载上来该用户所拥有的权限模块:而即 ...

      4. Fading Like a Flower

        Fading Like a Flower In a time where the sun descends alone 伴着落日孤独的脚步 I ran a long long way from hom ...

      5. html.EditorForModel自定义模版

        https://www.cnblogs.com/lori/p/5969658.html  http://www.cnblogs.com/yinzixin/archive/2012/12/18/2821 ...

      6. Android App 退出整个应用

        在做Android APP 过程中,有退出整个Project的功能,以下就是接受退出整个应用的操作: ActivityManager是用来管理记录每一个Activity,最后统一用来退出结束: pub ...

      7. 面向对象编程思想(前传)--你必须知道的javascript(转载)

        原文地址:http://www.cnblogs.com/zhaopei/p/6623460.html阅读目录   什么是鸭子类型 javascript的面向对象 封装 继承 多态 原型 this指向 ...

      8. 【Win10】文件拖放打开

        在 Windows 10 中,通用应用程序在桌面环境下是支持从资源管理器拖放文件打开的. 这篇博文将演示拖放图片或文本文件,并在程序中打开显示. 前台 XAML: <Page x:Class=& ...

      9. 转载:R语言rvest包使用

        R中有好几个包都可以抓取网页数据,但是rvest + CSS Selector最方便. 通过查看器立刻知道表格数据都在td:nth-child(1),td:nth-child(3)之类的节点中,直接代 ...

      10. STM32F4时钟配置库函数详解

        在STM32中,所有的应用都是基于时钟,所以时钟的配置就尤为重要了,而不能仅仅只知道使用默认时钟. STM32F4的时钟树如上图所示,HSE为外部接入的一个8M的时钟,然后再给PLL提供输入时钟,经过 ...