我有一个web服务(ASP.NET 2.0),我使用jQuery的$.ajax()
从javascript调用。我被告知会话密钥经常被用作此类情况下的一个随机数,用于安全目的; Web服务将一个键作为其参数之一,并且只在与当前会话键匹配时才返回数据。用于Web服务安全性的ASP.NET会话密钥?
我试图通过在每个Page_Load
(即每个回发)上将隐藏字段的值设置为当前SessionID来完成此操作,然后在javascript中将其作为参数进行抓取。但它与Web服务的当前密钥(Context.Session.SessionID
)从来都不是同一个密钥。
这是可以解决的,或者我应该以另一种方式做到这一点?
编辑:代码设置会话隐藏字段中的请求。
hfSession.Value = Context.Session.SessionID;
这是在的.ascx控制Page_Load
,不受任何条件(即不包裹着if (!Page.IsPostBack)
。
你能张贴“的隐藏字段的值设置为当前的SessionID代码在每一个Page_Load(即每回发)“ – shashi
@sassyboy - 完成。 –