在现实的场景中,WCF Service Contract公开的接口方法往往要求指定的用户群体才能访问,WCF框架提供了对于Role-Based授权支持, WCF支持AspNetWindowsTokenRoleProvider, SqlRoleProvider, AuthorizationStoreRoleProvider.
基于Windows Group的授权主要利用ASP.NET Role Provider中的AspNetWindowsTokeRoleProvider来实现,要求WCF 通过IIS Host,并且用户终端在Domain环境中.
实现步骤:
1. 配置WCF IIS Host使用Windows认证
可以在IIS Manager中直接设置WCF Application的认证方式,也可以通过web.config文件实现
- <system.web>
- <authentication mode="Windows"/>
- </system.web>
2. 在web.config文件中启用RoleProvider
- <roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider"