Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
CAS单点登陆方案
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
lvjian700
December 14, 2012
Programming
310
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CAS单点登陆方案
大洋公司B/S组单点登陆方案.
lvjian700
December 14, 2012
More Decks by lvjian700
See All by lvjian700
当Mobile开发遇见Web技术
lvjian700
0
260
Knowledge prejudice
lvjian700
1
150
在tw讲讲机械键盘
lvjian700
3
370
Start Developing iOS Apps Today
lvjian700
0
600
做卓有成效的程序员
lvjian700
0
330
构建网络工具箱 - 程序员
lvjian700
2
1.4k
大洋BS收录系统产品培训
lvjian700
0
380
2012收录工作计划
lvjian700
0
210
Other Decks in Programming
See All in Programming
オーケストレーション記述言語 Katari
yukikurage
0
200
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
840
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
140
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
1k
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
280
気持ちぃ〜角丸 Squircle
ryu1013
0
340
Modernizing iOS Apps
seyfoyun
0
120
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
120
AIがコードを書いてくれる時代、我々は何を確かめるのか
yosuke_furukawa
PRO
12
4.1k
No More NoSuchMethodError
exoego
1
110
ChromeでローカルLLM
ryu1013
0
160
Featured
See All Featured
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
440
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
340
RailsConf 2023
tenderlove
30
1.6k
The SEO identity crisis: Don't let AI make you average
varn
0
610
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
A Modern Web Designer's Workflow
chriscoyier
699
190k
GraphQLとの向き合い方2022年版
quramy
50
15k
Crafting Experiences
bethany
1
390
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Transcript
B/S单点登陆解决方案 使用CAS解决单点登陆问题 大洋上海研发基地 作者:吕健,王毅飞 2012-10-12
大纲 单点登陆原理 Java中单点登陆方案:CAS CAS 服务器使用 CAS
客户端使用 如何和portal集成 我们已经做的改进 支持http验证 CAS客户端支持多网段路由 参考资料
单点登陆原理 当用户第一次访问应用系统1的时候,因为还没有登录,会 被引导到认证系统中进行登录;根据用户提供的登录信息, 认证系统进行身份校验,如果通过校验,应该返回给用户 一个认证的凭据--ticket; 用户再访问别的应用的时候就会将这个ticket带上,作为自 己认证的凭据,应用系统接受到请求之后会把ticket送到认 证系统进行校验,检查ticket的合法性。如果通过校验,用 户就可以在不用再次登录的情况下访问应用系统2和应用系 统3了。
单点登陆原理 根据单点登陆的原理,我们要实现如下两个内容: 1. 所有应用系统共享一个身份认证系统 2. 所有应用系统能够识别和提取ticket信息 这里我们并不打算自己实现, 而是直接采用Java开 源单点登陆系统: CAS
CAS: http://www.jasig.org/cas
Java中单点登陆方案:CAS CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一 种可靠的单点登录方法,CAS 在 2004
年 12 月正式成为 JA-SIG 的一 个项目。CAS 具有以下特点: 开源的企业级单点登录解决方案。 CAS Server 为需要独立部署的 Web 应用。 CAS Client 支持非常多的客户端(这里指单点登录系统中的各个 Web 应用), 包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。 CAS: http://www.jasig.org/cas
CAS 组成 CAS分服务器端和客户端两部分, 使用时只需要将服务 器端部署到Tomcat, 并且在客户端添加filter即可. 服务器端: ◦ 负责登陆
◦ 提供统一登陆的校验 客户端: ◦ 负责做登陆拦截 ◦ 发起统一登陆的校验
CAS 原理
CAS Server 使用 使用官方提供的server服务,只需要修改 deployerConfigContext.xml添加数据库验 证bean即可
CAS Client 使用 修改web.xml加入CASFilter
改造现有应用的登陆 修改web.xml <welcome-file-list>直接返 回至action方法,在action方法中通过 name = (String)sess.getAttribute(CASFilter.CAS _FILTER_USER)取得登录用户名
如何和portal集成 CAS Server使用了如下技术: JPA, Spring, Spring MVC 因此可以有如下两种方式:
将CAS Server相关配置和jar集成到portal项 目中 或者直接在CAS Server源码上开发portal(推 荐)
我们已做的改进 支持http的方式认证 用来回避tomcat中 https 证书生成问题 支持多网段路由
用来解决台里内外网的问题
参考资料 SSO单点登陆原理 Java CAS 官方网站 使用CAS在Tomcat中实现单点登陆