说到cas服务器,首先想到的是耶鲁大学的那款基于java的开源cas服务器,研究一段时间后发现,不是很让人满意,首先是配置过程有点麻烦,新版本的java cas server 基于spring framework,用maven部署打包,如果没有一定java功底的话,很难驾驭它。再有就是定制过程麻烦,要对源码做一些修改,这就要求对源码结构有一定的了解。另外还有一些数字证书导入导出的繁琐过程。
那么现在就让Ruby将生活变得简单点,让RubyCAS将sso问题变得的容易些吧。之所以说RubyCAS灵巧主要有以下几个原因:
1 安装部署简单,你甚至可以不了解ruby编程。
2 可以不用SSL,因为很多应用,比如论坛博客社区等系统没有那么高的安全性要求,我们也不想在页面跳转时出现警告框。
3 可以用SSL,但它的过程是非常简单的,只需安装个gem即可。
4 定制简单,基本所有的定制在一个yml文件就搞定了。
…………
http://code.google.com/p/rubycas-server/wiki/QuickStart,这里有linux下配置安装的说明,那下面我就展示下windows/WEBrick平台下的安装部署测试过程。
1 安装RubyCAS,安装之前请保证你的你的机器已经装有ruby 1.8.4或更新的版本。在shell中输入:gem install rubycas-server
2 必要的配置,主要是指定cas server的端口、用户数据库以及验证策略,打开C:\ruby\lib\ruby\gems\1.8\gems\rubycas-server-0.6.0目录,新建config.yml文件,并将config.example.yml文件的内容全部拷贝进去,由于yml文件的可读性非常好,所以基本都可以理解其中的配置项,把以下3个地方的注释去掉并做如下修改:
server: webrick
port: 443
#ssl_cert: /path/to/your/ssl.pem
database: adapter: mysql
database: cas
username: root
password: 123456
host: localhost
authenticator: class: CASServer::Authenticators::SQL
database:cas
adapter: mysql
database: cas
username: root
password: 123456
server: localhost
user_table: users
username_column: username password_column: password
3 为了能在windows下运转正常,修改一行代码,linux平台下就省去这一步。打开C:\ruby\lib\ruby\gems\1.8\gems\rubycas-server-0.6.0\lib目录中的casserver.rb文件,
找到这行:
$CONFIG_FILE ||= '/etc/rubycas-server/config.yml'
改为:
$CONFIG_FILE ||= 'C:\ruby\lib\ruby\gems\1.8\gems\rubycas-server-0.6.0\config.yml'
4 以上3步基本搞定cas server所有该做的事情了,事情就那么简单,在cmd中输入rubycas-server启动cas server,访问http://localhost:443即可看到登录界面。那么下面我们编写客户端测试吧,这里我采用的是ruby做客户端,http://www.iteye.com/topic/210994这篇文章已经介绍了ruby客户端的配置使用,在这里只要在config/environment.rb 文件中最后那段修改为:
CASClient::Frameworks::Rails::Filter.configure( :cas_base_url => http://localhost:443 )
5 按照上一步建立2个rails应用A和B,分别装上rubycas客户端,我的测试结果如下,访问A时跳到了cas服务器登录界面,只有输入正确密码才跳回A,这时访问B时无需验证直接进入,并通过session[:cas_user]得到了在访问A时登入的用户名,关闭浏览器,A B反过来再来一遍,一样是可以的。
<!---->http://code.google.com/p/rubycas-server/
分享到:
相关推荐
安装将以下内容添加到您的Gemfile : gem 'rubycas-client-rails'然后在Rails应用程序的根目录中运行bundler: bundle install一旦安装了必要的gem,在application.rb添加: config.rubycas.cas_base_url = '...
用于 RubyCAS 服务器核心 (RubyCAS2.0) 的 ActiveRecord 适配器 安装 将此行添加到应用程序的 Gemfile 中: gem 'rubycas-server-activerecord' 然后执行: $ bundle 或者自己安装: $ gem install rubycas-...
rubycas-服务器-核心 处理 CAS 请求的核心逻辑,独立于任何特定的存储或 Web 呈现技术。 要求 Ruby 2.1.x 贡献 分叉吧 创建您的功能分支( git checkout -b my-new-feature ) 提交您的更改( git commit -am 'Add...
src-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2...
CAS-Server-4.0.0是CAS服务器的一个重要版本,它提供了对最新技术和安全标准的支持,以确保用户能够安全、便捷地访问各种网络资源。 在CAS-Server-4.0.0中,我们关注以下几个核心知识点: 1. **SSO机制**:CAS的...
Ruby是一种面向对象、动态类型的脚本语言,由Yukihiro "Matz" Matsumoto于1995年创建。它以其简洁、优雅的语法和强大的编程能力而闻名,广泛应用于Web开发、脚本自动化、服务器管理等领域。RubyInstaller是Windows...
Ruby是一种面向对象、动态类型的脚本语言,由Yukihiro "Matz" Matsumoto于1995年创建。它以其简洁、优雅的语法和强大的编程能力而闻名,广泛应用于Web开发、脚本自动化、服务器管理等领域。RubyInstaller是Windows...
CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架,本文介绍了 CAS 的原理、协议、在 Tomcat 中的配置和使用,研究如何采用 CAS 实现轻量级单点登录解决方案。 CAS 是 Yale 大学发起的...
ruby-debug-ide是一个基于ruby-debug的库,它将调试功能暴露给IDE,使得开发者可以在图形化的环境中进行调试操作,如设置断点、查看变量值、单步执行等。ruby-debug-ide支持多种IDE,如NetBeans、RubyMine、Eclipse...
标题中的"ruby-2.5.3-x64"指的是Ruby语言的特定版本,2.5.3,这是一个64位的构建。Ruby的版本迭代频繁,每个新版本通常会包含性能优化、新的特性和错误修复。2.5.3是2018年发布的一个稳定版本,它带来了诸如改进的...
"Ruby-服务器优化的Ruby发行版通过APTYUM实现更少内存更快速易于安装和安全补丁"这个主题就聚焦于这样的发行版,特别是如何通过APT(Advanced Package Tool)和YUM(Yellowdog Updater, Modified)这两个包管理器来...
然而,"swift-一个非常快速和简单的Ruby Web服务器"这个标题暗示了Swift在Web服务器领域的应用,特别是与Ruby语言的结合。这可能是关于一个用Swift实现的Web服务器框架,它旨在提供与Ruby的 Thin Web服务器类似的...
Rack提供了一个最小化,模块化和适应性强的界面,用于在Ruby中开发Web应用程序。 通过以最简单的方式包装HTTP请求和响应,它将Web服务器,Web框架和软件(所谓的中间件)之间的API统一并提炼成单个方法调用。
Ruby-JSONAPIResources 是一个基于 Ruby 的框架,专门用于构建遵循 JSON API 规范的服务器端应用。JSON API 是一种标准化的数据交换格式,它旨在提高客户端与服务器之间的数据交互效率和可读性,广泛应用于RESTful ...
在Ruby世界中,Ruby on Rails(RoR)是一种流行的开源框架,用于构建高效、优雅的Web应用程序。Ansible则是一个自动化运维工具,可以帮助我们轻松地配置、部署和管理服务器,尤其是对于Ruby on Rails应用的部署而言...
`ruby-install`就是这样一个工具,它允许用户方便地安装和管理这些不同的Ruby实现。 `ruby-install`是一个开源的命令行工具,主要功能是下载、编译并安装Ruby、JRuby、Rubinius、MagLev或MRuby等不同版本的Ruby解释...
Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言,在20世纪90年代由日本人松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。...该版本为ruby-1.8.7-p302
Ruby-OurPC是一个针对gRPC框架的实验性实现,它为开发者提供了在Ruby环境中构建gRPC客户端和服务器的能力。gRPC是一个高性能、开源和通用的RPC(远程过程调用)框架,它基于HTTP/2协议设计,支持多种编程语言,包括...
Ruby-Whois是一个高效、灵活且完全用Ruby语言编写的WHOIS客户端和解析库。它设计用于查询域名、IP地址和其他WHOIS相关的记录,并能够处理各种服务器响应格式。这个库的强大之处在于它不仅可以发送WHOIS请求,还可以...
Ruby-Virtualhostscanner是一个基于Ruby语言编写的工具,专门用于扫描和枚举服务器上的虚拟主机。这个脚本通过发送HTTP请求到目标IP地址,并解析返回的HTTP头信息,来识别可能存在的多个虚拟主机。在互联网环境中,...