给客户的一个项目中用到了swfupload控件,该项目布署在客户的域环境中,iis6,
采用windows身份验证。当用户在域外通过域名访问该项目时,点击上传附件时必然会弹出
如下验证窗口(域内偶尔会弹出),此时不管是否输入正确的用户名和密码都会导致验证失败:
查过网上的资料,似乎因为flash的SWFUpload上传利用socket套接字进行通信,所以session和原来上一次的会话不同,导致服务器在验证时自然被认为是新会话,弹出了windows身份验证窗口。
试过在post_params传入ASPSESSID也不起作用。调试时发现上图中的windows身份
验证弹出时尚未进入后台代码:
比如Application_BeginRequest(),
比如该MVC项目的控制器OnAuthorization() 。
另外客户是一定要求使用域内的window身份验证自动登录的,所以不能通过在iis中更改为
匿名验证来解决这个问题,请高手支招,万分感激。
别用flash 用js把 http://www.open-lib.com/Type/201-1.jsp
楼主看看这里,需要你自己写个验证方式http://geekswithblogs.net/apopovsky/archive/2009/05/06/working-around-flash-cookie-bug-in-asp.net-mvc.aspx
我用的是windows身份验证,我改Form验证模式先试一下
有没有不改成Form验证模式的方法?
改成Forms验证模式后,好像没有办法自动获得AD帐号名了吧?
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
要不可以放弃这个上传到控件,其他的上传控件也很好用 jquery uploadify
项目中用到附件上传的地方十几处,最好是不用放弃
@fjt: 也许这个对你有帮助:
http://www.cnblogs.com/rupeng/archive/2012/01/30/2332427.html
权限设置