网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C# > 正文
教你如果保证WebService的通讯安全
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/14
下载{$ArticleTitle}原创论文样式

Web Service现在是很通用的技术,在Web Service我们需要验证用户是否有使用此Web Service的权限,并且要保证在通讯过程中的数据安全,防止数据在传输过程中被网络窃听。

首先是如何保证Web Service被授权使用,在这里我说的是通过SoapHeader来判断调用Web服务的用户。

1.定义一个安全上下文,并且继承于SoapHeader类

public class SecurityContext : SoapHeader
{
    public string UserID;
    public string Password;
}
UserID是定义的用户名,Password是密码,当然这个UserID和密码是可以通过数据库获得的,在这里,我们固定这两个变量的值

2.在Web Service中定义一个公开的变量,类型是SecurityContext

public SecurityContext m_SecurityContext;
3.定义一个校验用户名和密码的方法

 

private bool ValidateUser()
    {
        if (m_SecurityContext == null)
        {
            throw new Exception(\"没有指定用户名和密码\");
        }
        
        //这里可以直接访问数据库来验证密码
        if (m_SecurityContext.UserID.ToLower() == (new AppSettingsReader()).GetValue(\"DTUser\", typeof(string)).ToString().ToLower()
            && m_SecurityContext.Password == (string)(new AppSettingsReader()).GetValue(\"DTPassword\", typeof(string)))
        {
            return true;
        }
        else
        {
            return false;
        }
    }4.在公开的,提供给客户调用的Web Service方法里调用校验的方法,如[WebMethod]
    [SoapHeader(\"m_SecurityContext\")]
    public DataSet GetChangedDepts(string DeptCode)
    {
        if (!ValidateUser())
        {
            return null;
        }
       
        return m_ServiceAll.GetChangedDepts(DeptCode);
    }
5.在调用方制定用户名和密码

//实例化Web Service
MyWebService service = new MyWebService();
//实例化SoapHeader(用户上下文)

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号