Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CAS Overview

CAS Overview

Presented at Openroad technical workshop June 14th, 2014.

Anh Tuan TRUONG

June 14, 2014
Tweet

More Decks by Anh Tuan TRUONG

Other Decks in Technology

Transcript

  1. Central Authentication
    Service (CAS)
    Hoàng Chí Linh
    EcoIT Corp

    View full-size slide

  2. Nội dung
     Đặt vấn đề
     CAS
     Giới thiệu
     Lịch sử phát triển
     Một số khái niệm cơ bản
     Cơ chế hoạt động
     Các phương pháp xác thực
     Alfresco
     Tích hợp CAS và Alfresco

    View full-size slide

  3. Đặt vấn đề

    View full-size slide

  4. Đặt vấn đề
     Trong Openroad, một phần không thể thiếu là
    các thư viện tài liệu điện tử cho phép người
    dùng có thể truy cập, tìm kiếm và lấy tài liệu tự
    do hay người dùng có thể chia sẻ tài liệu cho
    những người dùng khác.
     Bên cạnh đó Openroad chưa có một nền tảng
    quản lý tài liệu cho người dùng.

    View full-size slide

  5. Đặt vấn đề
     Do đó có thể áp dụng cơ chế single sign-
    on (SSO) cho phép người dùng Openroad sử
    dụng hệ thống DMS (Alfresco)
     Điều này cho phép người dùng đăng nhập một
    cách an toàn, sử dụng chung một tài khoản cho
    các ứng dụng của Openroad: Email, Portal,
    Alfresco,...

    View full-size slide

  6. Đặt vấn đề
    Các giải pháp SSO:
     Open Singer Sign-On (OpenSSO) – hoạt động dựa
    trên Token
     Central Authentication Service (CAS) – hoạt động
    dựa trên việc cấp vé (Ticket).
     Ngoài ra còn có JOSSO (Java Open Singer Sign-
    On), CoSign,...
     ....

    View full-size slide

  7. Giới thiệu
     CAS là:
     Một giải pháp SSO xuất phát từ đại học YALE
     Hỗ trợ nhiều thư viện phía client viết bởi nhiều
    ngôn ngữ: PHP, JAVA,…
     Nhiều trình quản lý xác thực:
    username/password, X509 certificate,…
     Thông tin được lưu trong cookie, cookie bị xóa
    khi logout hoặc đóng trình duyệt, tự hủy sau 8h.

    View full-size slide

  8. Lịch sử của CAS
     CAS 1.0
     Được phát triển bởi đại học YALE, 1999
     Là một web single sign-on, dễ sử dụng
     CAS 2.0
     Được phát triển bởi đại học YALE
     Bổ sung thêm chức năng Proxy Authentication
     Trở nên phổ biến hơn
     Cộng đồng người sử dụng lớn

    View full-size slide

  9. Lịch sử của CAS
     CAS 3.0
     Trở thành JA-SIG project vào năm 2004
     Độ tương thích cao hơn, mềm dẻo hơn
     Giải quyết được vấn đề mà CAS 2 còn gặp phải:
    khó khăn khi mở rộng hoặc tăng thêm các yêu
    cầu
     Trở thành một dự án mã nguồn mở

    View full-size slide

  10. Một số khái niệm cơ bản
     CAS URI
     /login
     /logout
     /validate
     /serviceValidate
     /proxy
     …

    View full-size slide

  11. Một số khái niệm cơ bản
     CAS Tickets
     Ticket-Granting Ticket (TGT)
     Service Ticket (ST)
     Proxy Ticket (PT)
     Proxy-Granting Ticket (PGT)
    Login Ticket

    View full-size slide

  12. Cơ chế hoạt động

    View full-size slide

  13. Các phương pháp xác thực
     CAS không xác định một phương pháp xác thực cố
    định nào mà tùy từng người sử dụng sẽ xây dựng
    thêm cho phù hợp
     Hỗ trợ các phương pháp xác thực LDAP, X509,
    Kerberos, NIS, AD,...
     Các phương pháp sử dụng phổ biến hiện nay là
    LDAP và X509

    View full-size slide

  14. Các phương pháp xác thực
     Khi người dùng sử dụng một chứng thư X509,
    chứng thư sẽ được gửi qua trình duyệt tới máy chủ
    CAS dùng để phục vụ quá trình xác thực, CAS sẽ:
     Kiểm tra tính hợp lệ của chứng thư
     Nhận dạng người dùng dựa trên LDAP hoặc cơ
    sở dữ liệu
     Hình thức xác thực bằng giao thức Kerberos hiện
    đang được sử dụng ở một số trường đại học tại Mỹ

    View full-size slide

  15. Alfresco
     Alfresco là một hệ quản lý nội dung doanh nghiệp
    nguồn mở hàng đầu.
     Alfresco:
     Tận dụng tối đa các kỹ thuật nguồn mở (Spring,
    Hibernate,Lucence,JSF, MyFaces, JSR-168, JSR-
    170 và dịch vụ web)
     Sự đóng góp từ cộng đồng,
     Biến hệ thống hồ sơ của bạn thành một kho dữ liệu
    dễ dùng, chuẩn mực và dễ dàng kiểm soát.

    View full-size slide

  16. Tính năng
     Content Management Interoperability (CMIS)
     Studio
     Share
     Email Server
     Mobile client cho IPhone

    View full-size slide

  17. Lợi ích
     Nguồn mở
     Dễ sử dụng
     Thuận lợi cho người phát triển
     Môi trường cộng tác tốt
     Quản trị đơn giản, bảo mật cao
     Khả năng tìm kiếm cao
     Kiến trúc hướng dịch vụ, khả năng chịu lỗi cao

    View full-size slide

  18. Tích hợp CAS và
    Alfresco

    View full-size slide

  19. Lý do
     Đảm bảo đăng nhập an toàn
     Cơ chế xác thực mạnh, đa cơ chế (xác thực bằng
    user name/password, certìicate,...)
     Đơn giản hóa việc đăng nhập cho người sử dụng
     Tạo được mối liên kết giữa các ứng dụng của
    Openroad
     Đơn giản hơn trong quản lý cơ sở dữ liệu người dùng
     .....

    View full-size slide

  20. Quá trình thực hiện
     Cài đặt Alfresco, LDAP, CAS Server
     Để alfresco có thể xác thực qua CAS, ta cần thêm
    thư viện cas client vào thư viện của alfresco
     Cấu hình trong các webapp của tomcat bằng cách
    thêm các URL của CAS server vào file web.xml
     Để alfresco có thể xác thực qua LDAP cần cấu hình
    file alfresco-global.properties như sau:

    View full-size slide

  21. Quá trình thực hiện
    authentication.chain=external1:external
    external.authentication.proxyUserName=
    external.authentication.proxyHeader=SsoUserHea
    der
    external.authentication.enabled=true
    external.authentication.userIdPattern=

    View full-size slide

  22. Tổng kết

    View full-size slide