Windows Communication Foundation 角色服务概述

更新:2007 年 11 月

Windows Communication Foundation (WCF) 角色服务使您能够从可以发送和使用 SOAP 消息的任何应用程序访问某个用户的角色。这可以包括不使用 .NET Framework 的应用程序。因此,这些不同应用程序的用户可以在每个应用程序中具有相同的角色。通常,可以检查用户的角色来确定用户具有执行哪些操作的权限。

本主题包含以下部分:

  • 方案

  • 背景

  • 代码示例

  • 类参考

方案

当必须从不是 ASP.NET Web 应用程序的应用程序来确定用户的应用程序角色时,您可以将角色服务作为一个 WCF 服务来访问。这可以包括控制台应用程序、Windows 窗体应用程序或不是用 .NET Framework 开发的应用程序。该应用程序必须可以发送和使用 SOAP 消息。

返回页首

背景

角色服务仅提供可通过 ASP.NET 角色管理获得的功能的一个子集。您可以通过角色服务检索用户的角色或检查用户是否属于特定的角色。有关其他角色管理功能的信息,请参见使用角色管理授权

只能检索与当前会话关联且已通过身份验证的用户的角色。可以通过 ASP.NET 支持的任何身份验证提供程序对用户进行身份验证。这包括通过 WCF 服务使用 Forms 身份验证。有关身份验证服务的更多信息,请参见 Windows Communication Foundation 身份验证服务概述

安全和角色服务

可以使用 WCF 角色服务作为一种基于用户的授权设置管理用户界面的方法。但是,请不要仅依赖于角色服务来进行关键的安全检查。在允许用户执行重要功能之前,应始终在服务器代码中检查用户的权限。恶意用户可以通过更改角色服务返回的信息来访问用户没有权限访问的组件。例如,您可以使用角色服务来确定用户是否有权查看用于提交新订单的窗体。但是,在提交新订单时,必须再次检查该用户是否属于已获得提交订单授权的角色。

Bb386424.alert_note(zh-cn,VS.90).gif说明:

绝不要根据调用角色服务的结果显示敏感数据。

配置角色服务

若要允许应用程序通过 WCF 服务来访问角色信息,必须在 Web 服务器上配置 WCF 角色服务。有关更多信息,请参见如何:启用 WCF 角色服务

返回页首

代码示例

演练:使用 ASP.NET 应用程序服务

如何:启用 WCF 角色服务

返回页首

类参考

下表列出了 WCF 角色应用程序服务的关键服务器类。

  • RoleService
    通过 Web 服务提供对角色信息的访问。

返回页首

请参见

任务

演练:使用 ASP.NET 应用程序服务

参考

RoleService