服务站

目录

基于角色的授权

ASP.NET 角色提供程序

自定义主 体

集中化授权逻辑

基于声明的授权

声明

声明集

授权上下文t

声明转换

安全令牌服务

当分布式应 用程序开始采用面向服务这一主体时,安全性挑战将变得略有不同。您会突然意 识到所调用的每个服务都将跨越安全边界。

虽然并不绝对必要,但通常 情况下服务调用的发送方和接收方之间应该存在网络。尽管通常情况下通信框架 会自动处理身份验证,但您仍需要建立自己的授权策略和基础结构。

Windows Communication Foundation (WCF) 能够为实现服务授权提供强 大的工具。您可以选择易于使用、基于角色的系统,或者更为强大但相对更为复 杂、基于声明的 API。本文的其余部分将比较这两种系统,并介绍如何使用它们 实现可靠的服务授权。

基于角色的授权

基于角色授权的基本原理 是为用户分配一组角色。在运行时,服务代码查询相关列表以做出与安全相关的 决策。这些角色既可以来自 Windows 安全系统(也称为组),或者也可以来自 一些自定义存储,例如数据库。

Microsoft .NET Framework 中的角色 API 基于名为 IIdentity(标识信息)和 IPrincipal(角色信息)的两个接口 。IIdentity 派生类包含诸如用户名、该用户是否经过验证以及验证方式之类的 信息。

IPrincipal 派生类必须实现一个名为 IsInRole 的方法,您可以 传入角色名并获得布尔型响应。此外,主体还包含对它所封装的标识类的引用。

.NET Framework 附带几个此类接口的实现。WindowsIdentity 和 WindowsPrincipal 封装了有关 Windows 用户的详细信息。GenericIdentity 和 GenericPrincipal 可用于代表经过验证的自定义用户。

此外它还包含用 于存储主体的位置,以便将其与应用程序中当前执行的线程(例如,WCF 操作请 求)相关联。该存储位置即是 System.Threading.Thread 类中的 CurrentPrincipal 线程静态属性。典型事件过程是应用程序的一部分填充 Thread.CurrentPrincipal,以便另一部分能够访问该属性以获取其中存储的 IPrincipal 实现。随后可以对该类调用 IsInRole 方法查询当前用户的角色列 表,以便确保调用程序已经授权能够执行该操作。

这正是它在 WCF 中的 工作方式。根据已配置的验证和凭据类型,WCF 可以创建相应的 IIdentity 实 现(WindowsIdentity 用于 Windows 验证,GenericIdentity 用于大多数其他 情况)。然后,根据 WCF 服务行为 (ServiceAuthorization) 的配置创建封装 该标识并提供角色信息的 IPrincipal 实现。然后在 Thread.CurrentPrincipal 中设置该 IPrincipalset,以便服务操作可以访问到它。

除编程调用 IsInRole 执行基于角色的安全检查外,还存在名为 Principal­PermissionAttribute 的属性,可以通过它使用角色要求注释服 务操作。PrincipalPermissionAttribute 将通过在执行服务操作之前抛出 SecurityException 通知客户端授权失败。WCF 将捕获该异常,并将其转换成返 回的“拒绝访问”失败消息。WCF 客户端管道将会把该特殊失败消息 转换为 .NET 异常类型 SecurityAccessDeniedException。图 1 显示进行角色 检查和执行错误处理的各种方法。

时间: 2024-09-30 18:53:21

服务站的相关文章

服务站:构建WCF路由器,第2部分

在 2008 年 4 月的"服务站"部分中,我向您介绍了如何创建简单的路由器,以在调用客 户端与目标服务之间实现消息的透明流动.在此过程中,我回顾了重要的 Windows Communication Foundation (WCF) 寻址和消息筛选语义,您可以了解到如何设计路由器约定使其处理非类型化消息,以 及如何配置绑定和行为才能允许消息在不经路由器处理的情况下进行传递.在本期中,我将继续讨论该话 题,介绍对路由器采用更实用的方案时涉及的更多实现细节. 传递路由器方案 在第 1 部分

服务站: 构建WCF路由器,第1部分

托管和使用 Windows Communication Foundation (WCF) 服务通常经历几个基本步骤:实现服务 .配置可以访问服务的端点.托管服务.生成 Web 服务描述语言 (WSDL) 文件或启用元数据交换,以便 客户端能够生成代理以调用服务.编写代码以使用其相关配置实例化代理.以及启动调用服务操作.您基 本不需要研究它的内部原理,但即使是在最简单的情况下,客户端和服务通道也要依赖兼容配置来处理寻 址语义和消息筛选,以确保调用了正确的操作. 有时,在客户端和目标服务之间引入中介

天猫服务站提供社区包裹代收业务

无论是线下店商,还是线上电商,双方合作早已不再新鲜.早在2012年,天猫服务站就已提供社区包裹代收业务.但在双方牵手一年之后,北京商报记者走访发现,合作仍停留在初步探索阶段,无论是代收自提.移动终端还是自建平台,均未能大范围展开,连锁品牌性思维仍显僵化. 代收自提 牵手不热恋 代表企业:阿里.京东.亚马逊.1号店 当网购成为国人主要的消费方式之一后,如何接收包裹快递成为轻松点击鼠标之后需要思考的问题.家中无人,快递敲门无人应答,只好连累物流公司再送一次:频繁网购或会暴露个人隐私,快递单上的姓名住

农村淘宝淘宝服务站是什么?获得过哪些支持?

一.什么是农村淘宝服务站 农村淘宝是阿里巴巴的战略项目.农村淘宝计划在三至五年内投资100亿元,建立1000个县级服务中心和10万个村级服务站.某个县下属的某个村是否开设农村淘宝服务站,需要阿里与该县政府达成合作意向,由村级政府协调招聘村点淘宝服务站的服务人员,选定开设地点. 淘宝农村服务站随着千县万村计划公布,越来越成为当下农村电商的热点. 淘宝农村服务站为农村电商发展提供了新的思路,凡是已经开通县级服务中心站的地方都可以去加盟农村淘宝服务站.农村淘宝服务站通俗的讲就是农村淘宝在农村建立的一个

天猫设社区服务站:部分自提点终止代收货

为备战"双十一"购物狂欢节,天猫在本月初宣布增设社区服务站,北京.上海.杭州.嘉兴.武汉.广州六省市,设立1300多个代收货网点,为消费者提供"代收货.代保管"服务.这些省市的天猫.淘宝消费者网购下单时,可选择自己就近的服务站,免费自提快递.不过,记者昨天走访部分北京天猫社区服务站发现,这一原本为了提升购物体验的贴心服务,等到服务站真执行起来,却有点变味儿.  部分自提点单方终止代收货  天猫服务站频道将已经上线的便利店.社区物业合作商站点进行了公示,在购物下单时,

联想乐OS 2.0发布 3月21日起服务站免费升级

3月21日消息,联想正式宣布,乐Phone全系列产品操作系统升级至乐OS 2.0,乐Phone用户可到服务站http://www.aliyun.com/zixun/aggregation/17943.html">免费升级.与乐OS 1.6相比,乐OS 2.0新增多项实用功能,其中包括支持Flash,动态壁纸.支持多点触摸.本地应用搜索.VPN远程办公等.基于Android 2.2系统的乐OS 2.0,系统更加稳定.运行速度更快,操作也更流畅.乐OS 2.0支持Flash播放,进一步增强了乐

开展提供校园快递系统解决方案的“阿里巴巴服务站” 试点

阿里巴巴旗下淘宝.天猫事业群日前宣布,将开展提供校园快递系统解决方案的"阿里巴巴服务站" 试点,进军物流"最后一公里"的校园市场. 经过前期与国内数十个学校洽谈后,首批已和11家高校达成合作,服务站以校园小邮局形式切入,以提供快件收发.自提等服务方便高校学生取件和寄件.预计9月中下旬,这些学校的服务站将陆续装修完成,在公众面前亮相. 合作模式:其他包裹都能进场 天猫物流规划组人士表示,阿里巴巴服务站以校园小邮局服务为主,其采取智能化运作,快递到货后,系统将会即时以手

海军护航编队远航信息服务站:“家里”信息一网打尽

中新网亚丁湾10月17日电(林健 侯瑞 程必杰)"上周咱们支队的舰艇编队又出远海训练了,战友陈光明还在任务中排除了故障."""南京"舰退役了,又有两艘新舰艇入列了."--当地时间10月16日下午,在中国海军第十二批护航编队"常州"舰活动室里,声纳兵张磊一边浏览"东海舰队远航信息服务站"网页上的"部队动态"栏目,一边兴奋地"广播"着这些热乎乎的"内部"

商务部:支持加油站变服务站鼓励设非油品业务

未来,国内加油站将变身为集加油.购物.汽车保养与维修等为一体的"综合服务站".商务部昨日发布关于促进加油站非油品业务发展的指导 意见,提出鼓励新建加油站开设非油品业务,并要求商务部门统筹规划加油站便利店等非油品服务设施,优先考虑在营的.毗邻社区的加油站. 现状非油品业务成新利润源 非油品业务是依托加油站网络和客户资源,为客户提供燃油.燃气以外的商品或服务,以满足客户延伸需求的商业活动.在国外,非油品销售利润甚至占石油巨头加油站总利润的50%左右,加油站已成为名副其实的"服务站

叮咚小区新动作,上线新版本增加两个社区实体服务站

3月25日消息,社区服务APP叮咚小区自年初裁员后终于有新的动作,上线5.0新版本,新增上海联洋.九亭两个社区实体服务站. 据叮咚小区负责人介绍,5.0版本是叮咚小区社区服务生态圈启动的标志.叮咚社区将通过叮咚快送.生活社区.到家服务三大内容,构建线下与线上相结合的O2O社区服务生态圈.   叮咚小区APP     叮咚社区撤出北京后,在原先的服务基础上进行了一定的整改.除了增加点送外卖.租借工具等新服务以外,还与网上干洗服务平台干洗客达成了战略合作.叮咚负责取送衣物,干洗客提供专业的中央干洗服