急!急!!急!!!求解如何在WebService中使用Session或Cookie---WebService安全策略

问题描述

现在我们开发一个项目,业务逻辑层全部用WebService,客户端有Flex和Asp.Net,Flex和Asp.Net的所有业务逻辑数据库的访问全部调用WebService中的方法(好象Flex也不能直接对数据库进行访问,所以也只能用WebService),现在就出现问题了,就是WebService中的权限问题了,比如:我在WebService中有一个Login的方法,还有一个ChangePwd修改用户密码的方法,可之,如果我要调用ChangePwd方法前我一定要判断用户是否Login了,所以一般的情况就是在Login方法里面当用户成功登陆后就Sesssion用户ID或者是用Cookie来保存以唯一标识用户,然后我再在ChangePwd方法里面先判断访问的用户是否存在Session或是有Cookie标识,如果有的话我再允许修改修改他自己当前登陆的密码,但是这些当做为WebService方法的提供的时候就出现了问题,我在访问用户成功Login后Session当前用户的ID之后,当用户再去调用ChangePwd方法的时候Session却丢失了,原因是我并不是直接打开IE访问WebService页面,然后在点调用那一个WebService方法,那样我能成功验证。但我现在要是在我的项目中添加WebService引用,引用成功后.net便会自动生成一个App_WebReferences文件夹来保存引用的WebService的WSDL等信息,我们在调用的时候将WebService实例化后就直接调用Login或ChangePwd方法了,但是我是这样调用的话当我成功Login后能Session一个用户ID,但是当我在调用ChangePwd后却不能成功,因为我在ChangePwd是判断了Session是否存在,结果Session不存在了,我明明在成功Login后Session了用户ID但是却在第二次调用ChangePwd的时候不存在了,郁闷…我用Coookie亦如此,也丢失了,测试可知,我打开页面直接访问WebService中调用他的方法能成功,能植入Cookie,但我添加WebService引用到项目在调用Login方法时候根本就没法值入Cookie,没有报错,但是我在网页临时文件夹和Cookie的文件夹内都找不到Cookie,第二次在调用ChangePwd时我在判断身份时候当然也是个Cookie不存在。在网上看了很多Cookie和Session的东西,在WebService中能应用的没几个,有人说要在客户端写个CookieContainer的Cookie容器来保存WebService传回来的一些Cookie那样便不会丢失,但是有一个非常严重的问题就是我的客户端还必须是Flex,如果只是在.Net中调用那当然没事,我在.net中就直接判断Session或Cookie很方便的,也不存在丢失的问题,就根本不需要的在WebService里面去判断权限了,但是我WebService的客户端还必须是Flex,Flex它好象不能做权限处理的,数据库也不能直接访问,所以便要调用WebService,所有我便想把权限处理放在WebService里面,客户端不用管的,就直接调用,我在WebService里面验证,验证通过就执行,验证不通过则不执行,但是当我想当然就这样做的时候,就出现了上述的问题,我真的很急,因为我刚进公司,然后公司里面要赶项目,做一个电子商务的网站,要做一个Asp.net版的和一个Flex版的,所有业务逻辑全调用WebService,而我负责写WebService,一开始就遇到了这个头疼的问题,所以请各位高手帮我想想办法,我自认是菜鸟一个,想不到其他办法,现在又真的很急,所以请大家都帮帮忙,给我出出注意,请原谅我占了主页。补充一下:基本上我可以确认业务逻辑一定要写成WebService,因为我们经理说不止Flex下次我们的OA系统可能也要用WebServce,WebService能通用,所以就只能在WebService中写验证即用Session或Cookie验证了,请大家在这里帮我想想办法解决。谢谢!!!(如果大家愿意帮我忙话要测试的话可以留言问我要测试WebService,我已经把我写的几个WebService挂到了网上)

解决方案

解决方案二:
WebService端只负责验证用户的合法性,合法则在服务端设置Session或Cookie
解决方案三:
那WebService怎么实现合法验证,Session或Cookie用不了!!!

时间: 2024-10-24 15:16:16

急!急!!急!!!求解如何在WebService中使用Session或Cookie---WebService安全策略的相关文章

Webservice中使用Session、Application

原文:Webservice中使用Session.Application在Asp.Net 2.0里,已经能够在WebMethod里使用 Session . Application 这种服务器变量了. 一.Session     [WebMethod(EnableSession = true)]    public string Hello()     {        return "Hello," + Session["user"];    }    [WebMet

如何在wcf中读取asp.net cookie的值??

问题描述 如何在wcf中读取asp.netcookie的值??wcf服务端和asp.net网站在同一域名下 解决方案 解决方案二:HttpContext.Current.Session

如何在wcf中读取asp.net cookie的值?? wcf服务端和asp.net网站在同一域名下

问题描述 如何在wcf中读取asp.netcookie的值??wcf服务端和asp.net网站在同一域名下 解决方案 解决方案二: 解决方案三:引用1楼fangxinggood的回复: http://blog.csdn.net/fangxinggood/archive/2011/04/19/6332489.aspx 1楼正解.解决方案四:我现在是网站登录用cookie保存用户信息,想在wcf中读取cookie信息,这个要怎么弄?配置文件都改过了,还是获取不到cookie解决方案五:wcf可以利用

PHP中对Session和Cookie的使用例子

我们跟踪用户信息时需要用到Session和Cookie,比如用户登录验证.记录用户浏览历史,存储购物车数据,限制用户会话有效时间等.今天我们来了解下PHP是如何操作Session和Cookie的. Session PHP的$_SESSION可以存储当前用户数据信息,用户访问WEB网站的时候,PHP会给每个访问的用户创建一个session ID,该ID是唯一ID,保存在客户机上,而用户的会话数据是保存到服务端的,PHP可以对每个不同的用户信息进行存储,当会话过期后,用户session信息也会失效.

sql-急!!!如何在jsp中显示一个图片集,可以左右滑动的

问题描述 急!!!如何在jsp中显示一个图片集,可以左右滑动的 我现在找到一个插件fotorama,但是不知道怎么在jsp中引用,有大神会用吗? 解决方案 图片集是javascript做的网上有现成的你可以搜Javascript图片集插件就可以了:数据库里一般存放的是图片的路径的. 如果回答对你有帮助请采纳 解决方案二: 用一张表单独存这个图片信息,然后再页面遍历,可以用li标签,左右滑动的效果,可以自己写js算,也可以网上搜现成的 解决方案三: 同意楼上意见.... 解决方案四: 真的不要用数

php中如何同时使用session和cookie来保存用户登录信息

本篇文章是对在php中同时使用session和cookie来保存用户登录信息的实现代码进行了详细的分析介绍,需要的朋友参考下   同时使用session和cookie来保存用户登录信息1.数据库连接配置页面:connectvars.php 复制代码 代码如下: <?php //数据库的位置 define('DB_HOST', '127.0.0.1'); //用户名 define('DB_USER', 'root'); //口令 define('DB_PASSWORD', '19900101');

PHP中的Session对象如何使用_php技巧

在PHP开发中对比起Cookie,session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制.下面则是对Session的介绍. php中的Session与Cookie 在PHP开发中对比起Cookie,session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制,本文简单介绍 session 的使用. 由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容.实际上在服务器端的 Sessio

lsp-如何在OPNET中配置MPLS以及LSP,急!卡了好多天

问题描述 如何在OPNET中配置MPLS以及LSP,急!卡了好多天 现在由于链路的带宽选择,流量都是走lsr1-3-4,小弟想配置一条静态lsp,让user2的流量都走lsr1-2-4,急,希望知道的亲能帮下忙! 解决方案 参考:https://www.scribd.com/doc/180346146/MPLS-in-OPNET-14-5-STD-docx 解决方案二: lsp原来真没弄过,刚上网查了一下,普级一下知识 MPLS网络结构 MPLS网络的基本构成单元是标签交换路由器LSR(Labe

地图-如何在fragment中实现百度离线定位??? 求大神!!! 急!!!

问题描述 如何在fragment中实现百度离线定位??? 求大神!!! 急!!! 现在正在做fragment百度离线定位,但是不管如何定位,mapview都是显示北京地图.而不能显示下载的离线地图.