最近在做公司的一个项目,实现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的。
---恢复内容结束---