WCF角色服务

WCF角色服务

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

角色服务仅提供可通过ASP.NET角色管理获得的功能的一个子集。可以通过角色服务检索用户的角色或检查用户是否属于特定的角色。用户必须经过身份验证才能读取用户的角色。角色服务可使用任何类型的ASP.NET身份验证。

System.Web.ApplicationServices.RoleService.NET提供的角色服务实现,RoleService类公开了只应通过WCF服务访问的两个方法:

GetRolesForCurrentUser方法(返回已登录用户的所有角色)

IsCurrentUserInRole方法(确定用户是否属于指定的角色)

RoleService对象引发SelectingProvider事件。为SelectingProvider事件创建一个事件处理程序,以选择运行时要使用的角色提供程序。以下代码演示了如何在配置文件中启用角色服务:

<system.web.extensions>

  <scripting>

    <webServices>

      <roleService enabled="true"/>

    </webServices>

  </scripting>

</system.web.extensions>

角色服务的使用和WCF身份验证服务基本相似,这里不再举例,请读者参考上一篇博客《WCF身份验证服务》的内容。

另外可以在客户端通过Ajax来请求WCF角色服务,来实施客户端验证。

 ----------------------注:本文部分内容改编自《.NET安全揭秘》

posted @ 2012-06-24 13:54  玄魂  阅读(883)  评论(0编辑  收藏  举报