• 基于Http Basic身份验证的实现 -- 解决SAP/ABAP调用3rd平台WebService的安全机制


          最近在做公司的一个项目,实现SAP与.Net平台下的一个数据交互,由于所谓的“技术大牛”的RFC平台不好实现等为由摒弃了RFC的传输机制(我想说的是我10分钟就可以搭建起来,不鄙视了,boss说啥就是啥),转而以WebService的方式去实现,实现了之后,我这边的WS身份验证方式采用的是SoapHeader的方式,悲剧的是SAP那边的大神们说他们那边的SAP平台对于SoapHeader不能支持,我靠,顿时无语了,算了,最终考虑了下,用基于Http Basic的验证方式去进行安全管控:

    其实基于Http Basic的验证就是在IIS中做些配置就可:

    1.需要我们开启IIS服务中的角色服务--基本身份验证

    2.选中要设置Http Basic验证的网站目录,选择IIS功能下的身份验证,双击打开,启用基本身份验证,其余全部关闭,尤其关闭匿名身份验证(这步很重要,若二者同时开启,系统只会以匿名模式启动)

    (这里有个值得注意的地方,当修改默认域之后访问的用户名前面要加上计算机名才能够正常访问,所以一般我们可以将默认域置空)

    3.创建需要通过身份验证的用户

    你可以通过右键 计算机>管理>本地用户和组来创建相应的用户名和密码

    打开IIS管理器,找到相应需要身份验证的网站目录,右键选择编辑权限,点击安全选项卡,编辑组或用户名,选择添加,如图

    在添加完用户后,你可以根据安全性的需要针对通过身份验证的用户配置相应的权限。

    在完成上述IIS7基本身份验证配置后,以网址形式访问之前配置的相应目录,会出现要求输入用户名和密码才能继续访问的画面,如图

    OK,大功告成

    PS:其实这是一种特殊的需求,正常情况下这样的验证方式是属于明文网络传输,故属于不安全的一种机制,尽量还是采用ws的soapheader,Membership等方式去实现安全管理,这样才是比较normal的。

    ---恢复内容结束---


    Impossible = I'm possible
    Don't be the same, be better. Just do it.
    You'll be there.
  • 相关阅读:
    java 23种设计模式 深入理解
    ORACLE 一条记录 某字段值以';'拆分为多条记录
    rabbitmq集群故障恢复
    ORACLE 时间加减操作
    Asp.net MVC Razor输出字符串方法(js中嵌入razor)
    C# ToString() 数据格式
    DOM的整个知识体系
    EF 连接模式
    EF Code First 数据库连接方式
    使用border实现提示框的
  • 原文地址:https://www.cnblogs.com/gavin-king/p/4517399.html
Copyright © 2020-2023  润新知