Daniel Doubrovkine (dblock[at]dblock[dot]org)
Single Sign-On

w/ Tomcat & WAFFLE

6/8/2010
Tomcat ->
Waffle ->
2 www.appsecinc.com
FORM Authentication
GET /index.jsp
304 Redirect
Location: login.jsp
...
POST /login.jsp
j_username=…;j_passsword=…
200 OK
Hello <%# username %>
3 www.appsecinc.com
HTTP Authentication
GET /index.jsp
401 Access Denied
WWW-Authenticate: Basic
WWW-Authenticate: NTLM
...
GET /index.jsp
Authorization: Basic JFRFdPUktHUk9VUA==
200 OK
Hello <%# username %>
4 www.appsecinc.com
Authorization Methods
● BASIC: Base64(username:password)
● DIGEST: Md5(HA1(HA2(…)))
● NTLM: LM Challenge/Response
● Kerberos: KB Tickets
● Negotiate: NTLM or Kerberos
5 www.appsecinc.com
Tomcat, Jetty, etc.
● Servlet Filter
catch-all
● Tomcat Authenticator
authentication method
● Spi Login Module
authentication provider
● Realm
authorize users, a database of users and roles
● User Database
● JAAS Realm: Java Authentication and Authorization Service
● …
6 www.appsecinc.com
Demo: FORM
● How: Login Module + JAAS Realm
● Authentication Method = FORM
● Username, password from FORM
● Windows Logon
● Groups => Roles
7 www.appsecinc.com
Demo: JAAS
● How: Login Module + JAAS Realm
● Authentication Method = BASIC
● Username, password from browser
● Windows Logon
● Groups => Roles
8 www.appsecinc.com


Demo: Negotiate
● How: Authenticator Valve
● Authentication Method = Negotiate
● Windows Realm
● Single Sign-On
9 www.appsecinc.com
Demo: Negotiate + Basic Filter
● How: Security Filter
● Authentication Method = Negotiate or BASIC
● Single Sign-On
10 www.appsecinc.com
Demo: Mixed-Mode
● How: Authenticator Valve
● Authentication Method = FORM or Negotiate
● Single Sign-On
● URL-based Protocol
11 www.appsecinc.com
Open Source
● WAFFLE = Windows Authentication Functional Framework Bla Bla Bla
● http://waffle.codeplex.com
Questions?

More Related Content

PDF
Data Mesh Part 4 Monolith to Mesh
PDF
Diving into Delta Lake: Unpacking the Transaction Log
PDF
Introduction to OpenStack
PDF
Cloud Native ClickHouse at Scale--Using the Altinity Kubernetes Operator-2022...
PPTX
PHP File Handling
PPSX
Asp.net mvc
PDF
Collections and generics
PDF
Self-Service Data Ingestion Using NiFi, StreamSets & Kafka
Data Mesh Part 4 Monolith to Mesh
Diving into Delta Lake: Unpacking the Transaction Log
Introduction to OpenStack
Cloud Native ClickHouse at Scale--Using the Altinity Kubernetes Operator-2022...
PHP File Handling
Asp.net mvc
Collections and generics
Self-Service Data Ingestion Using NiFi, StreamSets & Kafka

What's hot (20)

PPTX
Introduction to Spring Boot
PDF
Knowledge graphs, meet Deep Learning
PDF
Groupby -Power bi dashboard in hour by vishal pawar-Presentation
PPTX
Well Architected Framework - Data
PPTX
VisiQuate: Azure cloud migration case study
PPTX
Microsoft Azure vs Amazon Web Services (AWS) Services & Feature Mapping
PPTX
An Introduction To REST API
PDF
1.1 data analytics case studies and examples
PDF
Simplifying Disaster Recovery with Delta Lake
PDF
Estimating the Total Costs of Your Cloud Analytics Platform 
PPT
Displaying information within a window.68
PPTX
Hadoop Hive Tutorial | Hive Fundamentals | Hive Architecture
PDF
Extending Machine Learning Algorithms with PySpark
PDF
MATS stack (MLFlow, Airflow, Tensorflow, Spark) for Cross-system Orchestratio...
PPTX
Chapter 3 servlet & jsp
PPTX
Java servlets
PPTX
How to Ingest 16 Billion Records Per Day into your Hadoop Environment
PDF
How to Extend Apache Spark with Customized Optimizations
PDF
Gioithieu open stack-phienbannhap
PPT
Introduction to Eclipse IDE
Introduction to Spring Boot
Knowledge graphs, meet Deep Learning
Groupby -Power bi dashboard in hour by vishal pawar-Presentation
Well Architected Framework - Data
VisiQuate: Azure cloud migration case study
Microsoft Azure vs Amazon Web Services (AWS) Services & Feature Mapping
An Introduction To REST API
1.1 data analytics case studies and examples
Simplifying Disaster Recovery with Delta Lake
Estimating the Total Costs of Your Cloud Analytics Platform 
Displaying information within a window.68
Hadoop Hive Tutorial | Hive Fundamentals | Hive Architecture
Extending Machine Learning Algorithms with PySpark
MATS stack (MLFlow, Airflow, Tensorflow, Spark) for Cross-system Orchestratio...
Chapter 3 servlet & jsp
Java servlets
How to Ingest 16 Billion Records Per Day into your Hadoop Environment
How to Extend Apache Spark with Customized Optimizations
Gioithieu open stack-phienbannhap
Introduction to Eclipse IDE
Ad

More from Daniel Doubrovkine (20)

PDF
The Future of Art @ Worlds Fair Nano
PDF
Nasdaq CTO Summit: Inspiring Team Leads to Give Away Legos
PDF
Product Development 101
PDF
Open-Source by Default, UN Community.camp
PDF
Your First Slack Ruby Bot
PDF
How it All Goes Down
PDF
Taking Over Open Source Projects @ GoGaRuCo 2014
PDF
Mentoring Engineers & Humans
PDF
Tiling and Zooming ASCII Art @ iOSoho
PDF
Artsy ♥ ASCII ART
PDF
The Other Side of Your Interview
PDF
Hiring Engineers (the Artsy Way)
PDF
Mentoring 101 - the Artsy way
PPTX
Building and Scaling a Test Driven Culture
PPTX
Introducing Remote Install Framework
PDF
HackYale 0-60 in Startup Tech
PDF
Taming the Testing Beast - AgileDC 2012
PDF
GeneralAssemb.ly Summer Program: Tech from the Ground Up
PDF
Making Agile Choices in Software Technology
PDF
From Zero to Mongo, Art.sy Experience w/ MongoDB
The Future of Art @ Worlds Fair Nano
Nasdaq CTO Summit: Inspiring Team Leads to Give Away Legos
Product Development 101
Open-Source by Default, UN Community.camp
Your First Slack Ruby Bot
How it All Goes Down
Taking Over Open Source Projects @ GoGaRuCo 2014
Mentoring Engineers & Humans
Tiling and Zooming ASCII Art @ iOSoho
Artsy ♥ ASCII ART
The Other Side of Your Interview
Hiring Engineers (the Artsy Way)
Mentoring 101 - the Artsy way
Building and Scaling a Test Driven Culture
Introducing Remote Install Framework
HackYale 0-60 in Startup Tech
Taming the Testing Beast - AgileDC 2012
GeneralAssemb.ly Summer Program: Tech from the Ground Up
Making Agile Choices in Software Technology
From Zero to Mongo, Art.sy Experience w/ MongoDB
Ad

Recently uploaded (20)

PPTX
Trending Python Topics for Data Visualization in 2025
PPTX
Full-Stack Developer Courses That Actually Land You Jobs
PDF
novaPDF Pro 11.9.482 Crack + License Key [Latest 2025]
PPTX
Lecture 5 Software Requirement Engineering
PDF
Visual explanation of Dijkstra's Algorithm using Python
PPTX
most interesting chapter in the world ppt
DOC
UTEP毕业证学历认证,宾夕法尼亚克拉里恩大学毕业证未毕业
PDF
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
DOCX
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
PPTX
Matchmaking for JVMs: How to Pick the Perfect GC Partner
PDF
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
PDF
AI Guide for Business Growth - Arna Softech
PDF
CCleaner 6.39.11548 Crack 2025 License Key
PDF
Microsoft Office 365 Crack Download Free
PPTX
Download Adobe Photoshop Crack 2025 Free
PPTX
MLforCyber_MLDataSetsandFeatures_Presentation.pptx
PPTX
Airline CRS | Airline CRS Systems | CRS System
PDF
BoxLang Dynamic AWS Lambda - Japan Edition
PPTX
Introduction to Windows Operating System
PDF
Workplace Software and Skills - OpenStax
Trending Python Topics for Data Visualization in 2025
Full-Stack Developer Courses That Actually Land You Jobs
novaPDF Pro 11.9.482 Crack + License Key [Latest 2025]
Lecture 5 Software Requirement Engineering
Visual explanation of Dijkstra's Algorithm using Python
most interesting chapter in the world ppt
UTEP毕业证学历认证,宾夕法尼亚克拉里恩大学毕业证未毕业
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
Matchmaking for JVMs: How to Pick the Perfect GC Partner
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
AI Guide for Business Growth - Arna Softech
CCleaner 6.39.11548 Crack 2025 License Key
Microsoft Office 365 Crack Download Free
Download Adobe Photoshop Crack 2025 Free
MLforCyber_MLDataSetsandFeatures_Presentation.pptx
Airline CRS | Airline CRS Systems | CRS System
BoxLang Dynamic AWS Lambda - Japan Edition
Introduction to Windows Operating System
Workplace Software and Skills - OpenStax

Single Sign-On with Waffle