如何:在RIA Services中允许角色功能
使用角色,我们可以指定哪个验证用户组可以访问某些资源。 WCF RIA Services中的角色功能是建立在ASP.NET的角色功能上的。
我们只有在用户已经被验证后,才能检索用户的角色信息。通过在域操作中的方法上使用RequireRoleAttribute属性,我们就可以限制角色中的成员对域操作的访问。

配置服务端项目
   1.  在服务端项目中,打开Web.config文件。
   2.  在段中,添加元素。

1 <system.web>  
2   <authentication mode="Forms"></authentication>  
3   <rolemanager enabled="true"></rolemanager>  
4 </system.web>

3.  在成员数据库中,创建所需的角色并赋予用户所需的角色。更多详情,可看后面的章节。
   4.  要确保只有指定角色中的成员才能访问域操作,我们需要对域操作应用RequireRoleAttribute属性。

1 [RequiresRole("Managers")]   
2 public IQueryable<customer> GetCustomers()   
3 {   
4     return this.ObjectContext.Customers;   
5 }

在客户端使用角色
   1.  要检测是否用户属于要求的角色,使用Roles属性或调用WebContext.Current.User对象的IsInRole方法。下面示例了在调用域操作之前,检测是否用户属于Managers的角色。

代码

 1 private void LoadRestrictedReports()   
 2 {   
 3     LoadOperation<salesorderheader> loadSales = context.Load(context.GetSalesOrderHeadersQuery().Take(numberOfRows));   
 4     SalesOrdersGrid.ItemsSource = loadSales.Entities;   
 5     SalesOrdersGrid.Visibility = System.Windows.Visibility.Visible;   
 6     if (WebContext.Current.User.IsInRole("Managers"))   
 7     {   
 8         LoadOperation<customer> loadCustomers = context.Load(context.GetCustomersQuery().Take(numberOfRows));   
 9         CustomersGrid.ItemsSource = loadCustomers.Entities;   
10         CustomersGrid.Visibility = System.Windows.Visibility.Visible;   
11     }   
12     else  
13     {   
14         CustomersGrid.Visibility = System.Windows.Visibility.Collapsed;   
15     }   
16 }

2.  如果想让WebContext对象在XAML中可用,那么在创建RootVisual之前,在Application.Startup事件中把当前 WebContext实例添加到应用程序资源中。

1 private void Application_Startup(object sender, StartupEventArgs e)   
2 {   
3     this.Resources.Add("WebContext", WebContext.Current);   
4     this.RootVisual = new MainPage();   
5 }

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/blackant2/archive/2010/04/08/5462403.aspx

转载于:https://www.cnblogs.com/e_trock/archive/2010/06/05/1752266.html

WCF RIA 服务 (三十二)-- 身份验证、角色、个性化 3相关推荐

  1. RHEL4- WEB服务(十二)用户访问apache服务器认证

    RHEL4- WEB服务(十二)用户访问apache服务器认证   有些时候网站上的内容不是希望所有的用户都可以访问,由于网页内容性质的不同,会对来访的用户有所分类,网站的提供方希望部分网页内容只提供 ...

  2. 史记翻译-汉初三杰-韩信-淮阴侯列传第三十二

    淮阴侯列传第三十二 王学孟 译注 [说明]本传记载了韩信一生的事迹,突出了他的军事才能和累累战功.功高于世,却落个夷灭宗族的下场.注入了作者无限同情和感慨. 他登坛拜将后与刘邦的一篇宏论,使韩信崭露头 ...

  3. 【正点原子FPGA连载】 第三十二章基于lwip的TCP服务器性能测试实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

    第三十二章基于lwip的TCP服务器性能测试实验 上一章的lwip Echo Server实验让我们对lwip有一个基本的了解,而Echo Server是基于TCP协议的.TCP协议是为了在不可靠的互 ...

  4. ASP 三十二条精华代码

    整理收藏: ASP 三十二条精华代码 1. οncοntextmenu="window.event.returnvalue=false" 将彻底屏蔽鼠标右键 <table b ...

  5. Silverlight WCF RIA服务(十三)数据 3

    如何验证数据 我们对实体和成员属性添加验证属性来实施验证规则.WCF RIA Service提供了几个验证属性来执行常用的验证检测,还提供了CustomValidationAttribute属性来执行 ...

  6. 第三十二章 XML基础知识概念

    文章目录 第三十二章 XML基础知识概念 attribute CDATA区域 comment content model default namespace DOM DTD(文档类型定义) eleme ...

  7. 静态树表查找算法及C语言实现,数据结构算法C语言实现(三十二)--- 9.1静态查找表...

    一.简述 静态查找表又分为顺序表.有序表.静态树表和索引表.以下只是算法的简单实现及测试,不涉及性能分析. 二.头文件 /** author:zhaoyu date:2016-7-12 */ #inc ...

  8. 【正点原子FPGA连载】第三十二章RTC实时时钟LCD显示实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1

    1)实验平台:正点原子新起点V2开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609758951113 2)全套实验源码+手册+视频下载地址:ht ...

  9. 1709 ltsb 内存占用_「正点原子STM32Mini板资料连载」第三十二章 内存管理实验

    1)实验平台:正点原子STM32mini开发板 2)摘自<正点原子STM32 不完全手册(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 第三十二章 内存管理实验 上一章,我 ...

  10. axi dma 寄存器配置_FPGA Xilinx Zynq 系列(三十二)AXI 接口

    大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分.大侠可以关注FPGA技术江湖,在"闯荡江湖"."行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢. ...

最新文章

  1. ceph存储 PG的状态机 源码分析
  2. 桌面虚拟化对企业IT的四大贡献
  3. python中1010的二进制_如何用python把任意文件转换为“1010”样子的文本
  4. Android 应用目录分析
  5. 算法竞赛入门经典(第二版) | 例题4-5 追踪电子表格中的单元格 (UVa512,Spreadsheet Tracking,World Finals)(解法二)
  6. [转]简单介绍如何用Reporting Service制作报表
  7. viewtype_Android RecyclerView示例–多个ViewType
  8. Meta Learning | 加了元学习之后,少样本学习竟然可以变得这么简单!
  9. Android插件框架VirtualAPK学习和使用
  10. Visual Studio 2015离线版msdn帮助文档下载和安装
  11. python3执行js之pyexecjs
  12. ArcGIS Pro常见地图包系列--切片包(TPK)
  13. 洛谷 T2691 桶哥的问题——送桶
  14. 【JAVAEE框架】浅谈 Spring 框架的两大核心思想 AOP 与 IOP
  15. Python安装教程和Pycham教程
  16. Stream 大数据量List分批处理 java8
  17. python打印菱形三种方法_用python打印菱形的实操方法和代码
  18. 关于谷歌浏览器不能用flash插件的问题
  19. ISCC ISCC客服一号冲冲冲(二)
  20. 【功能安全(ISO 26262)系列】番外篇 第一话 戏说汽车安全是个什么鬼

热门文章

  1. 关于用户表设计及多用户登入限制
  2. emwin之基于某个事件或标志创建某个界面的一种方法
  3. MUI:字符串和json数据的相互转换
  4. 关于极光IM设置昵称不生效的解决办法
  5. MSI-X 之有别于MSI
  6. oracle中导入dmp数据注意事项
  7. Spring Junit 读取WEB-INF下的配置文件
  8. StringUtils常用方法+StringUtils详细介绍
  9. GOOGLE域名存在漏洞,可以用来建立钓鱼站点(目前已临时被封闭)
  10. 使用OkHttp高效开发调试