1. 下载,安装。 cas server
(http://www.jasig.org/cas/download
)
解压缩后,看到以下文件:
focusbeijing@focusbeijing-desktop:/sg552/cas-server-3.4.11$ ls
assembly.xml cas-server-support-radius
cas.log cas-server-support-spnego
cas-server-core cas-server-support-trusted
cas-server-documentation cas-server-support-x509
cas-server-integration-berkeleydb cas-server-uber-webapp
cas-server-integration-jboss cas-server-webapp
cas-server-integration-memcached INSTALL.txt
cas-server-integration-restlet license.txt
cas-server-support-generic modules
cas-server-support-jdbc notice.txt
cas-server-support-ldap perfStats.log
cas-server-support-legacy pom.xml
cas-server-support-openid tasks.xml
2. 下载tomcat6, (保证你安装了JDK6+)解压缩:
focusbeijing@focusbeijing-desktop:/sg552/tomcat6$ ls
bin conf LICENSE NOTICE RELEASE-NOTES temp work
cas.log lib logs perfStats.log RUNNING.txt webapps
3. 设置JDK_HOME, CATALINA_HOME 系统变量:
export CATALINA_HOME=/sg552/tomcat6
4. 1. copy modules/cas-server-webapp-
VERSION.war to Tomcat's webapps/ directory,
then start Tomcat by :
$CATALINA_HOME/bin/startup.sh
focusbeijing@focusbeijing-desktop:/sg552/tomcat6$ $CATALINA_HOME/bin/startup.sh
Using CATALINA_BASE: /sg552/tomcat6
Using CATALINA_HOME: /sg552/tomcat6
Using CATALINA_TMPDIR: /sg552/tomcat6/temp
Using JRE_HOME: /usr/lib/jvm/java-6-openjdk
Using CLASSPATH: /sg552/tomcat6/bin/bootstrap.jar
5. 访问:
http://localhost:8080/cas-server-webapp-3.4.11/login
就可以看到登录页面了。
https://wiki.jasig.org/display/CASUM/JDBC
使用JDBC认证:
https://wiki.jasig.org/display/CASUM/JDBC
6, CAS 支持的9种方式:
Active Directory: 是面向Windows Standard Server、Windows Enterprise Server以及 Windows Datacenter Server的目录服务。
Generic: 通用醒
JAAS: java 自带的一种东东。
JDBC: 连接到数据库。
LDAP: LDAP协议。用于验证。
Legacy: 未知。。。
RADIUS:远程认证拨号用户系统。
SPNEGO: SPNEGO(SPNEGO: Simple and Protected GSS-API Negotiation)是微软提供的一种一种使用GSS-
API认证机制的安全协议,
用于使Webserver共享Windows Credentials,它扩展了
Kerberos
(
一种网络认证协议)。
Trusted: 不清楚。。。
X.509 Certificates
X.509被广泛使用的数字证书标准,是由国际电联电信委员会(
ITU-T)为单点登录(SSO-Single Sign-on)和授权管理基础设施(PMI-
Privilege Management Infrastructure)制定的PKI标准。X.
509定义了(但不仅限于)
公钥证书
、证书吊销清单、
属性证书和证书路径验证算法等证书标准。
7. 开始使用JDBC 进行CAS的认证。
根据CAS INSTALL.TXT 文件的说明:
access the CAS login page by opening up a web browser and visiting:
36
http://hostname:8080/cas-server-webapp-VERSION/login
(see note below)
37
38 You should see the CAS login page asking you for your username and
39 password. The default authentication plugin accepts NetID=password.
40 Enter in an identical value for NetID and password and click LOGIN.
41 If everything is set up correctly, you should see a page stating that
42 you've successfully logged into CAS. Congratulations!
这里的NETID 应该就是用户名。
这个用户名在哪里呢?应该就需要我们先配置JDBC数据库,
然后再把它加进去。
需要用 POM。XML ,来进行MVN生成一个新的APP。。。手动的方式不行,
会产生找不到 generic 验证的错误。
https://wiki.jasig.org/display/CASUM/Best+Practice+-+Setting+Up+CAS+Locally+using+the+Maven2+WAR+Overlay+Method
8. 需要安装 mvn package install
(也可以直接在 module下找到对应的东西)
https://wiki.jasig.org/display/CASUM/Building+and+Deploying
As of CAS 3.1, CAS builds exclusively with the Maven 2 Build Management System. This system provides a common build and directory structure across all projects that use Maven 2 and defines common goals that can be applied to any project type (JAR, WAR, EAR, etc.).
Building CAS
In your CAS_HOME, you can type "mvn package install". This will create all of the jar and war files for the CAS modules. Alternatively, you can enter any of the CAS_HOME/{module} sub directories and execute "mvn package install" to generate just that particular JAR or WAR.
As compilation requires a network connection, if you are behind a http proxy, you have to indicate some extra option to mvn command: "mvn -Dhttp.proxyHost=xxx -Dhttp.proxyPort=xxx package install"
https://wiki.jasig.org/display/CAS/Examples+to+Configure+CAS
对于默认的CAS应用, 使用的是:最简单的验证(
SimpleTestUsernamePasswordAuth
enticationHandler)。 只要用户输入的用户名和密码相同就可以了。
见 WEB-INF/deployerConfigContext.
xml
分别建立两个 app:
TODO: 编译CAS SERVER ( $mvn package install )
下载了。
$ mvn install 可以。
$ sudo mvn install 不行
$ sudo mvn package install 不行。
不过,话说可以直接在module目录下找到对应的 cas-server-support-jdbc-3.4.11.jar
继续使用 simpleauthenticationhandler. (用户名和密码一样)
把CAS服务器先跑起来。
然后把 cas-client加在第一个RAILS APP上。 dudufish
0. 在 Gemfile中,加入:
gem 'rubycas-client'
然后 $sudo bundle
1. environment.rb: 的结尾,加上:
2. application_controller.rb
before_filter CASClient::Frameworks::Rails::Filter
3. 进入某个controller : (例如 fish_controller.rb) , 定义退出的action
def class fish_controller
def logout
CASClient::Frameworks::Rails::Filter.logout(self)
end
end
4. 修改 route.rb ,加入退出的链接:
Dudufish::Application.routes.draw do
resources :fish
match '/logout' => "fish#logout", :as => :logout
end
5. 修改 application.html.erb 布局文件,增加这个链接。 关键的一点是: 在经典的rails authorization 框架用,都是用 current_user 这个变量取得当前登陆的用户。 在CAS CLIENT中,用的是 session[:cas_user] , 只取得当前用户名,是一个string. 而不是一个model.
<div style="border: 1px solid green">
<%= session[:cas_user] %>
</div>
<% if session[:cas_user] %>
<%= link_to "logout" , logout_path %>
<% end %>
6. 下面,就是演示的截图:
1. 首先,输入: dudufish这个项目的url:
2. 回车后,页面会自动跳转到 CAS login 页面。 (见 application_controller.rb中的 before_filter)
3. 我们输入 用户名和密码都是 Siwei , 回车,就会看到dudufish的页面。
4. 我们点击 "logout" 链接,就会触发logout action (
CASClient::Frameworks::Rails::Filter.logout(self)
)
- 大小: 38.1 KB
- 大小: 10.3 KB
- 大小: 19.1 KB
分享到:
相关推荐
### 白手起家Win32SDK应用程序:深入解析与预备知识 #### 一、Win32SDK应用程序概览 **标题与描述解读**:"白手起家Win32SDK应用程序"这一标题揭示了文章旨在从零开始教授如何构建基于Windows平台的应用程序,特别...
struts2 总结入门学习文档 教你如何白手起家搭建Struts2开发环境、编写第一个struts2应用helloworld、属性介绍、接口、拦截器介绍、struts2标签等。93页
易语言程序源码,编写了一个白手起家【源码】
在白手起家的创业过程中,技术和人际关系网络是两个至关重要的方面。首先,技术作为标签,意味着在创业初期,技术不仅是产品或服务的核心,也是推动创新和竞争力的关键。创业者需要具备一定的技术背景或者理解,以...
白手起家不是梦.doc
### 《白手起家Win32SDK应用程序》第九篇:窗口标题栏上显示自定义图标 #### 知识点概述 本篇文章旨在探讨如何在Windows应用程序中手动添加自定义图标资源,尤其聚焦于如何在窗口标题栏上显示这类图标。通过本教程...
在《白手起家Win32SDK应用程序》系列教程中,本篇重点讲解如何在Windows环境下通过Win32 SDK创建并显示一个自定义窗口。在Windows编程中,窗口是最基本也是最重要的组成部分之一,因此掌握窗口的创建与显示对于任何...
主观能动性是人类区别于动物的重要特性,它包含了人的认识世界、改造世界的能力和精神状态。马克思主义哲学强调,人应该在遵循客观规律的基础上,充分发挥主观能动性。以下十个案例展示了主观能动性在实际生活和事业...
1. 创业者的特质:白手起家的成功人士通常具备坚韧不拔的精神,他们敢于冒险,愿意承受失败的风险,并且能够从失败中汲取教训。他们具有强烈的自我驱动力,能够独立思考并制定长远规划。此外,他们善于沟通,能够...
《白手起家WIN32SDK》是一本专注于教授如何使用Windows API开发应用程序的教材,尤其适合编程初学者。Windows API(Application Programming Interface)是微软为开发者提供的接口,它包含了大量函数、常量、结构体...
适合白手起家的五大创业项目
在销售管理中白手起家创建自己的企业是一个充满挑战但潜力无限的过程。首先,我们要理解“白手起家”的概念,它通常指的是创业者没有初始资金或资源,依靠自身的努力和智慧来创立和经营企业。在这个过程中,销售管理...
白手起家创业赚钱项目有些创业赚钱项目.doc
自建网站是一个涉及多个步骤的过程,包括域名注册、空间租用、网站源码获取与配置以及网站上线等关键环节。...未来在实践过程中,只要按照上述步骤操作,结合持续的努力与学习,就能成功搭建属于自己的网站。
本文档《当前最佳实践用于培训LLM白手起家》旨在为那些希望从零开始构建和训练LLM的初学者和经验丰富的开发者提供宝贵的指导。 首先,文档强调了在决定是否自建LLM前,应考虑使用商业API或已开源的LLM。商业API如...
ExchangeServer白手起家系列系统SLA和监控流程.pptx
白手起家,精通C语言-博奕创维_55_6725