GenericIdentity不是FormsIdentity

时间:2010-04-21 15:40:07

标签: asp.net security

ħ

关于此网址

http://www.codeproject.com/KB/aspnet/FlashUpload.aspx

User.Identity作为System.Web.Security.FormsIdentity始终为null,因为Identity是GenericIdentity,我认为它将与教程FormsIdentity一样,是什么机会。

由于

2 个答案:

答案 0 :(得分:1)

不是转换为FormsAuthentication,只需获取cookie .ASPXAUTH(或web.config中指定的名称)并将其发送到flash,然后让flash在上传时将其作为POST变量,然后读取Request.Forms [ POSTVariable]并创建FormsAuthenticationTickt,如问题中的教程所示。

答案 1 :(得分:0)

这是Flash的问题,它与您的服务器端代码无关,这就是原因。

当Flash进行Web服务调用时,http服务调用它来自同一个域,它重新获得cookie,然后每个调用都在你的会话中进行(ASP.NET Session),但是当你上传的东西时flash不会发送cookie(向adobe报告的错误,直到日期才回复)。

这就是FormsIdentity为空的原因,因为ASP.NET Server需要cookie才能将FormsIdentity分配给经过适当身份验证的用户请求。

这就是为什么当你上传时,你永远不会得到会话,解决这个问题的方法是,我们在查询字符串中传递一个自定义身份验证哈希,我们可以在服务器端进行验证。