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 的一个项目。
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