`
andyhu1007
  • 浏览: 199470 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

用LDAP实现Rails简单认证

阅读更多

1. 安装OpenLDAP并导入一些数据。

 

    Reference: OpenLDAP Quick Start .

 

2. 安装LDAP gem。

 

    有三个可选方案

 

    ruby-net-ldap:纯ruby实现

    ruby-ldap:基于cruby。

    jruby-ldap:基于jruby。

    active-ldap:不详。

 

    ruby-net-ldap貌似已经停止开发很久了。ruby-ldap和jruby-ldap的interface是一样的,如果要在c-ruby和jruby上互相迁移,不需要改动代码。

 

 

3. 代码其实相当简单

 

 

    require 'ldap'  
      
    class LdapUser  
      def self.authenticate(username, password)  
        ldap = LDAP::SSLConn.new("your-ldap-server.domain.com", 636 )  
        ldap.bind("uid=#{username},ou=people,dc=domain,dc=com", password)  
        return ldap.bound?  
      rescue LDAP::ResultError  
        return false  
      ensure  
        ldap.unbind  
      end  
    end  
 

4. Reference:

 

    jruby-ldap

 

    Rails Authentication的简单实现

 

    Using OpenLdap for User Authentication

 

    OpenLdap Server Example

 

    用ruby ldap实现认证

 

分享到:
评论

相关推荐

    gitlab+LDAP认证安装+同步备份

    ### GitLab + LDAP 认证安装与同步备份详解 #### 一、GitLab 安装与配置 **1. 配置 YUM 源** 在 CentOS 6.x 上安装 GitLab 的第一步是配置 YUM 源。可以通过编辑 `/etc/yum.repos.d/gitlab-ce.repo` 文件来完成...

    chaltron:带有Bootstrap的Rails应用的模板生成器,设计..

    特征Chaltron提供本地用户(创建,身份验证,忘记密码管理...) LDAP用户(搜索,创建,认证) 授权(角色和权限) 日志消息实用程序(已启用syslog) Chaltron由有关更多说明,请参阅。 贡献叉它创建功能

    ubuntu14.04安装gitlab.pdf

    它提供 Git 版本控制版本控制、代码检查、Bug 跟踪和 Wiki,它可以通过 LDAP 或活动目录来进行安全认证和授权。单个 GitLab 可以支持 25000 个用户,同时它也可以通过设置多台服务器来实现其高可用性。 安装 GitLab...

    redmine在centos下配置文档

    五、配置 LDAP 认证 Redmine 支持 LDAP 认证,允许用户使用 LDAP 服务器上的账户登录。在 Redmine 的配置文件 config/configuration.yml 中,配置 LDAP 相关参数,如 LDAP 服务器地址、端口、搜索基DN、用户过滤器等...

    Redmine 管理员手册

    Redmine可以使用LDAP(轻量级目录访问协议)进行用户认证。管理员可以配置LDAP服务器的相关设置,并选择是否启用即时用户生成,这样当用户第一次通过LDAP账号登录Redmine时,系统将自动为其创建账户。 15. 配置单点...

    gitlab部署

    在企业级环境中,通常会采用LDAP进行用户认证和管理。下面介绍如何在GitLab中配置LDAP: 1. **编辑配置文件** 首先需要编辑GitLab的配置文件`/etc/gitlab/gitlab.rb`,添加或修改LDAP相关的配置信息。打开该文件...

    Redmine使用指南

    - **多LDAP认证支持**:与企业的LDAP系统集成,实现统一身份认证。 - **用户自我注册**:新用户可以直接注册账号,简化了加入项目的流程。 - **多语言支持**:适应全球化的使用需求。 - **多数据库支持**:兼容...

    java开源包3

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    java开源包4

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    JAVA上百实例源码以及开源项目源代码

    简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 ...

    Redmine使用手册

    6. 集成第三方系统:Redmine可以与多种第三方系统集成,例如SVN、CVS、Git等版本控制系统,以及LDAP用户认证系统,提高了系统的可扩展性。 7. 用户注册和激活:Redmine允许用户自行注册,管理员可以通过邮件方式...

    java开源包8

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    SpringOne-Using Spring Security 2

    ### 使用Spring Security 2进行安全控制 #### 演讲者资格 - **迈克·韦斯纳(Mike Wiesner)**: - 春源德国(SpringSource Germany)高级顾问; - 专注于应用安全性和单点登录(SSO); - 在软件设计方面有...

    java开源包1

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    java开源包11

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    java开源包2

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    java开源包6

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    java开源包5

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    java开源包10

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    java开源包7

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

Global site tag (gtag.js) - Google Analytics