Django - authorization机制 (Tutorial 4: Authentication & Permissions)

如果没有auth,那么代码访问没有限制。

为了实现如下功能:

1. 代码关联创建者

2. 只允许授权用户可以访问

3. 只允许创建者更新和删除

4. 非授权请求只有读的权限

在阅读过程中,我于是转向了scm_site中的dango_cas模块。

Central Authentication Service (CAS)

CAS是Central Authentication Service的缩写,中央认证服务,一种独立开始指令协议。CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。

Django - authorization机制 (Tutorial 4: Authentication & Permissions)

1. 开源的、多协议的 SSO 解决方案; Protocols : Custom Protocol 、 CAS 、 OAuth 、 OpenID 、 RESTful API 、 SAML1.1 、 SAML2.0 等。

2. 支持多种认证机制: Active Directory 、 JAAS 、 JDBC 、 LDAP 、 X.509 Certificates 等;

3. 安全策略:使用票据( Ticket )来实现支持的认证协议;

4. 支持授权:可以决定哪些服务可以请求和验证服务票据( Service Ticket );

5. 提供高可用性:通过把认证过的状态数据存储在 TicketRegistry 组件中,这些组件有很多支持分布式环境的实现,如: BerkleyDB 、 Default 、 EhcacheTicketRegistry 、 JDBCTicketRegistry 、 JBOSS TreeCache 、 JpaTicketRegistry 、 MemcacheTicketRegistry 等;

6. 支持多种客户端: Java 、 .Net 、 PHP 、 Perl 、 Apache、uPortal、Python 等。

SSO

单点登陆是目前比较流行的服务于企业业务整合的解决方案之一,SSO使得在多个应用系统中,用户只需要登陆一次就可以访问所有相互信任的应用系统。

SSO原理

角色:

主要有三个角色,User(多个)、Web应用

参考链接:

http://www.coin163.com/java/cas/cas.html