首页 新闻 赞助 找找看

有关ADO.NET Data Service的身份验证和授权

0
[已关闭问题]

各位好,向大家请教如下问题:

1. 如何为ADO.NET Data Service的服务启用身份验证和授权。假设客户端为Windows Forms程序。

我之前在网上看到有朋友通过Forms验证的方式实现了身份验证和授权,但那是使用在ASP.NET网站内部的。也就是客户端与服务同在一个网站内部。我想这种情况应该很少吧。

我们一般都是想把服务独立出来,然后客户端(可以是Windows Forms,也可以说WPF,也可以是ASP.NET网站)通过远程访问。

我原本的想法是,既然ADO.NET Data Service是通过WCF实现的,那么是不是可以使用WCF的方式来配置安全性。但没有找到这方面的资料。

 

2. 另外问一个与该问题相关的问题:侦听器

我看到在ADO.NET Data Service中,可以通过定制所谓的侦听器来实现对查询,更新行为进行控制。我的问题是,是不是一个实体就只能有一个侦听器?

 

谢谢

 

陈希章的主页 陈希章 | 老鸟四级 | 园豆:2538
提问于:2009-05-19 07:17
< >
分享
其他回答(1)
0

为什么微软要推 ADO.NET Data Services Framework
http://www.cnblogs.com/WizardWu/archive/2008/12/14/1354490.html

-----------------------------------------------------------------------

Data Services 自有一套控管机制。

在 Server-side 项目建立、加入一个 ADO.NET Data Service item 时,会同时产生
WebDataService.svc、WebDataService.cs
这两个档案,server-side 的程序员,就可在这个 WebDataService.cs 里做相关设定,如下 :

config.SetEntitySetAccessRule("*", EntitySetRights.All);
config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
config.SetEntitySetAccessRule("*", EntitySetRights.None);
config.SetEntitySetAccessRule("MyEntityset", EntitySetRights.WriteDelete);


您可参考以下的类库、API,以及 MSDN 和相关网络文件:

IDataServiceConfiguration..::.SetEntitySetAccessRule 方法 :

 

-----------------------------------------------------------------------

拦截器 :
可拦截 Request / Response,插入自定义的 authentication 验证辑。其可在 .svc 里去定义。

// 自定义拦截器-查询
[QueryInterceptor("Employees")]
public Expression<Func<NorthwindModel.Employees, bool>> FilterChina()
{
  return p=>p.Country=="China";
}

----------------------

QueryInterceptorAttribute 类 (msdn library)

方法上的 QueryInterceptorAttribute 将其批注为指定实体集上的查询拦截器。

命名空间: System.Data.Services
程序集: System.Data.Services(在 System.Data.Services.dll 中)

http://msdn.microsoft.com/zh-cn/library/system.data.services.queryinterceptorattribute.aspx

实体集级别授权和验证由使用 QueryInterceptorAttribute 批注的方法实现。ADO.NET 数据服务未实现安全策略,而是提供了必需的基础结构,以便服务开发人员编写自己的安全规则和业务验证。

----------------------

.NET Framework 3.5增强特性学习工具包已发布 :
http://www.edufly.cn/tech/ms/200805/204.html

你也可以使用服务拦截器增加加验证支持和自定义查询的服务操作。

WizardWu | 园豆:1402 (小虾三级) | 2009-05-19 08:51
0

是的,我也在找方面的资料

http://msdn.microsoft.com/en-us/data/ee720181

这里有英文资料,看得我一知半解

沙漠俊 | 园豆:206 (菜鸟二级) | 2013-12-04 16:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册