Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CAS单点登陆方案
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
lvjian700
December 14, 2012
Programming
250
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
220
Knowledge prejudice
lvjian700
1
120
在tw讲讲机械键盘
lvjian700
3
320
Start Developing iOS Apps Today
lvjian700
0
570
做卓有成效的程序员
lvjian700
0
290
构建网络工具箱 - 程序员
lvjian700
2
1.4k
大洋BS收录系统产品培训
lvjian700
0
340
2012收录工作计划
lvjian700
0
170
Other Decks in Programming
See All in Programming
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
140
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
210
Inside Stream API
skrb
1
740
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
290
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
250
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
560
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
120
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
260
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
790
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
350
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6.2k
C# and C++ Interoperability - cho-dotnetnew
harukasao
0
260
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
2
310
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
The browser strikes back
jonoalderson
0
1.3k
Context Engineering - Making Every Token Count
addyosmani
9
970
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Building AI with AI
inesmontani
PRO
1
1.1k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Site-Speed That Sticks
csswizardry
13
1.2k
エンジニアに許された特別な時間の終わり
watany
107
250k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
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中实现单点登陆