Geneva是微软开发的用于构建自定义安全令牌服务 (STS) 的探测功能、要求从 ASP.NET 应用程序进行联合身份验证的机制,以及简化 ASP.NET 应用程序和WCF服务的基于声明的授权的对象模型。它可以帮助开发人员更轻松地开发用于认证/授权的基于声明(claims-based)的身份模型的应用。这是由微软开发但得到行业支持的模型采用WS-Federation、WS-Trust和SAML(Security Assertion Markup Language,安全断言标记语言)等标准协议。Sun的WSIT和WebSphere App Server v7.0也支持这些行业标准。
Geneva 不仅为开发具有授权性质的应用提供了方便,还将使部署、管理和保护应用更容易。在.NET 3.0所包含的Windows CardSpace ,这是微软第一次如此直接地将其庞大的开发大军纳入身份元系统计划,它定义了多厂商平台的分布式身份架构。权限被用来做出谁可以访问,谁可以检索内容或谁可以完成交易这样的决定。
Geneva包括以下三个组件:
Geneva服务器:这是一个OASIS WS-Trust规范中定义的安全令牌服务(STS)。 它对声明进行操作和转换,管理用户访问并可以实现自动化联邦。
Geneva框架:这是一个连接到STS的托管(.NET)框架,有助于开发人员构建基于声明的应用程序和服务。你可以用它来处理对任何一方的授权事务(请求或响应)。
Windows CardSpace Geneva:这是一个在Windows里为人所喜爱的CardSpace的扩展。有可能你已经看见过它,就是没有使用过。简单地说,CardSpace是一组Windows功能和用户界面,它们允许用户导航访问权限和控制使用个人信息。作为自己身份证明的一部分,每个人都有多个声明:你是UM(西雅图华盛顿大学)的学生,你是BigCorp的员工,你还是一个具有良好声誉的社团的成员,你获得了一个特别的安全卡,你还有一个BigBank的银行帐号4444-444-44等等。CardSpace让你自己决定使用哪个声明,以向特定的服务器或服务透露你的身份。而不是像所有的服务器或服务透露你的一切,你只需要为特定交易透露所需要的信息即可。这是身份标识模型的一个方面,CardSpace使得在Windows中做这样的事情成为可能。
参考资料:
http://msdn.microsoft.com/zh-cn/magazine/dd278426.aspx
http://www.cnblogs.com/shanyou/archive/2008/11/16/1334663.html
http://www.infoq.com/cn/news/2008/11/Geneva
http://download.microsoft.com/download/7/d/0/7d0b5166-6a8a-418a-addd-95ee9b046994/Introducing_Geneva_Beta1_Whitepaper.pdf
http://download.microsoft.com/download/7/d/0/7d0b5166-6a8a-418a-addd-95ee9b046994/GenevaFrameworkWhitepaperForDevelopers.pdf