[WCF权限控制]基于Windows用户组的授权方式[上篇]
Windows用户组安全主体权限模式,顾名思义,就是将利用Windows安全系统将对应的Windows帐号所在的用户组作为该用户权限集的授权方式。认证和授权密不可分,但是对于认证和授权在WCF安全体系中的实现来说,它们则是相对独立的。认证属于安全传输的范畴,是在信道层实现的,而授权则是在服务模型层实现的。但是对于基于Windows用户组的授权来说,最终体现出来的授权行为却和采用何种认证具有密切的关系。 一、Windows用户组授权与认证的关系 无论是对于基于Windows用户组还是基于ASP.NET Roles提供程序的授权,最终都体现在创建相应的安全主体,并将其附加到当前线程上。对于Windows用户组模式来说,有一点是肯定的:不论采用何种客户端凭证类型以及认证模式, 最终建立的安全主体都是一个WindowsPrincipal,并且这个WindowsPrincipal对应的安全身份是一个WindowsIdentity 。但是该WindowsPrincipal的Identity能否正确地反映被认证后的用户,以及其本身能够正确反映该认证用户的权限,就和认证有密切的关系。 具体来说, 当你选择了Windows用户组安全主体权限模式,只有在采用Windows认证的情况下最终生成的安全主体才能正确地反映被认证的用户 。这里的Windows认证包括如下三种情况: