zoukankan      html  css  js  c++  java
  • OData 13 自定义身份验证和OData

    和windows身份验证相比,在实际程序中应用更多的是自定义身份验证

    1.在WCF服务内做身份验证 

    代码
    public class ODataBaseService<T> : DataService<T>//, IServiceProvider
    {
    public ODataBaseService()
    {
    this.ProcessingPipeline.ProcessingRequest += new EventHandler<DataServiceProcessingPipelineEventArgs>(ProcessingPipeline_ProcessingRequest);
    }
    void ProcessingPipeline_ProcessingRequest(object sender, DataServiceProcessingPipelineEventArgs e)
    {
    if (Authenticate(HttpContext.Current))//在这里使用http header 或者其他的http request 内容来判断用户 和权限
    throw new DataServiceException(401, "401 Unauthorized");
    }

    这里我目前还有一些疑问,例如这里客户端的数据是非结构化的,虽然方法名称 列名什么都有,

    但是要自己实现分析代码以确定客户访问的是什么权限(例如什么表 什么列) 总归是麻烦的

    希望有微软官方的实现或者第三方实现(目前我还没有找到)

    2.使用HttpModule做验证.

      其实这个方法实现和wcf内实现是一样的...只是放的地方不一样而已

    3.OAuth WRAP

  • 相关阅读:
    HTML5标签变化
    接口测试基础入门学习
    1.1Axure简介
    win 7命令行大全
    程序集强签名
    源代码的文件头格式化
    redmine2.3环境搭建
    静态成员和方法的使用场合及利弊分析
    .Net Memory Profiler入门
    TransactionScope类
  • 原文地址:https://www.cnblogs.com/PurpleTide/p/1911698.html
Copyright © 2011-2022 走看看