新足迹

 找回密码
 注册

精华好帖回顾

· 前驱车、后驱车的特征探讨 (2011-8-6) 车友 · 日本东京 -- 从涉谷QFRONT 到青山的樱花海 - 从六本木的捞面到月岛文字烧 - 银座A&F的美男们 (2012-4-14) chermside
· 晒晒我最近研制出的一些好吃的。--各种冷菜,炒菜,地方特色。------做法已陆续更新。 (2013-3-26) 纯净夕颜 · 2013信手随笔之散漫集 (78楼小更几则) (2013-1-1) astina
Advertisement
Advertisement
楼主:atransformer

asp.net uploadfile control 问题(最终解决了,85楼) [复制链接]

头像被屏蔽

禁止访问

发表于 2011-3-9 11:19 |显示全部楼层
此文章由 atransformer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 atransformer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 flyspirit 于 2011-3-9 12:03 发表
这个也是可以的, 但是你的网站要用integrete authentication


已经用了
Advertisement
Advertisement

发表于 2011-3-9 11:21 |显示全部楼层
此文章由 bulaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 bulaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
先设成EVERYONE write吧,验证确实是权限问题

Network Service这个account是machine local,在别的机器上没用。如果是在同一个domain的话,你应该设置一个domain account来读写文件

发表于 2011-3-9 11:21 |显示全部楼层
此文章由 flyspirit 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 flyspirit 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 atransformer 于 2011-3-9 12:13 发表


这个不行啊。 我要知道用户的identity


为何要知道用户identity?

发表于 2011-3-9 11:21 |显示全部楼层
此文章由 flyspirit 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 flyspirit 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 atransformer 于 2011-3-9 12:19 发表


已经用了


你同时允许anonymous user吗?

发表于 2011-3-9 11:31 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
从来没做过windows authentication,不过让我猜想一下:

1.建一个group,把你所有domain user都加进这个group。
2.把write的权利grant给这个group.

不过你要先test 一下:
1.当前的user(debug WindowsIdentity.GetCurrent.Name())是不是你login的domain user.
2.先试1/2个domain user.

成功了别忘了请我吃饭啊

不过你这是什么环境?dev/uat/staging?

如果是dev,你在你自己的机器上调试用IIS6 么?还是用iis5.1? 你dev 的机器是什么环境,如果是xp,能按iis6么?从我模糊的记忆中好像不行,不过我可能老年痴呆又犯了

[ 本帖最后由 乱码 于 2011-3-9 12:43 编辑 ]

发表于 2011-3-9 11:54 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 乱码 于 2011-3-9 11:31 发表
从来没做过windows authentication,不过让我猜想一下:

1.建一个group,把你所有domain user都加进这个group。
2.把write的权利grant给这个group.

不过你要先test 一下:
1.当前的user(debug WindowsIdentity.GetCurrent.N ...


It looks like internal system
Don't need to create a user group for 所有domain user, already there...
no login as well, the win login will be passed to IIS automatically [if anonymous authentication disabled]

[ 本帖最后由 典 于 2011-3-9 11:55 编辑 ]
Advertisement
Advertisement

发表于 2011-3-9 12:09 |显示全部楼层
此文章由 combread 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 combread 所有!转贴必须注明作者、出处和本声明,并保持内容完整
\\file
你这个是不是本机啊?如果不是本机怎么倒腾本机networkservice或者那个机器networkservice用户都没用啊
头像被屏蔽

禁止访问

发表于 2011-3-9 12:15 |显示全部楼层
此文章由 atransformer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 atransformer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 flyspirit 于 2011-3-9 12:21 发表


为何要知道用户identity?


要知道谁upload的file
头像被屏蔽

禁止访问

发表于 2011-3-9 12:15 |显示全部楼层
此文章由 atransformer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 atransformer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 combread 于 2011-3-9 13:09 发表
\\file
你这个是不是本机啊?如果不是本机怎么倒腾本机networkservice或者那个机器networkservice用户都没用啊


不是本机, on a file server
头像被屏蔽

禁止访问

发表于 2011-3-9 12:32 |显示全部楼层
此文章由 atransformer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 atransformer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 bulaohu 于 2011-3-9 12:21 发表
先设成EVERYONE write吧,验证确实是权限问题

Network Service这个account是machine local,在别的机器上没用。如果是在同一个domain的话,你应该设置一个domain account来读写文件


加了新account. 新的怪事发生了。 访问叶面, 蹦出对话框,让我输入username/pwd
头像被屏蔽

禁止访问

发表于 2011-3-9 12:33 |显示全部楼层
此文章由 atransformer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 atransformer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 乱码 于 2011-3-9 12:31 发表
从来没做过windows authentication,不过让我猜想一下:

1.建一个group,把你所有domain user都加进这个group。
2.把write的权利grant给这个group.

不过你要先test 一下:
1.当前的user(debug WindowsIdentity.GetCurrent.N ...


从这问题开始前,就先这么做了。
Advertisement
Advertisement

发表于 2011-3-9 12:41 |显示全部楼层
此文章由 flyspirit 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 flyspirit 所有!转贴必须注明作者、出处和本声明,并保持内容完整
upload的目的地是个share folder吧, 那个share folder本身share的时候给了写权限吧。

手工copy没有问题吧。
头像被屏蔽

禁止访问

发表于 2011-3-9 12:57 |显示全部楼层
此文章由 atransformer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 atransformer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 flyspirit 于 2011-3-9 13:41 发表
upload的目的地是个share folder吧, 那个share folder本身share的时候给了写权限吧。

手工copy没有问题吧。


手工copy没有问题,也就是说,我有权限。

发表于 2011-3-9 13:15 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 atransformer 于 2011-3-9 13:33 发表


从这问题开始前,就先这么做了。


先加一个非你自己的domain user的权限到你的folder再说,如果成功了,加相应的domain group.

发表于 2011-3-9 13:33 |显示全部楼层
此文章由 flyspirit 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 flyspirit 所有!转贴必须注明作者、出处和本声明,并保持内容完整
现在我的理解是, 你web app用的是network service, 然后无法upload。是不是?

你能不能在web app中用一个有写权限的user去upload file, 先不管记录谁上传得,先能够上传再说。

发表于 2011-3-9 13:34 |显示全部楼层

回复 乱码 44# 帖子

此文章由 flyspirit 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 flyspirit 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这个思路正确。
Advertisement
Advertisement
头像被屏蔽

禁止访问

发表于 2011-3-9 13:57 |显示全部楼层
此文章由 atransformer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 atransformer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 flyspirit 于 2011-3-9 14:33 发表
现在我的理解是, 你web app用的是network service, 然后无法upload。是不是?

你能不能在web app中用一个有写权限的user去upload file, 先不管记录谁上传得,先能够上传再说。


没错。就是network service, 然后无法upload。。

加了
<identity impersonate="true"      userName=“xxx” password="dddd" />

还是同样的error,

Access to the path '\\file1\IntResearch\aaa.pdf' is denied.  
头像被屏蔽

禁止访问

发表于 2011-3-9 14:02 |显示全部楼层

找到了这片

此文章由 atransformer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 atransformer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
http://msdn.microsoft.com/en-us/library/ff647404.aspx

。。。。。Delegation allows you to use an impersonation token to access network resources. 。。。。。。

这个Delegation 怎么玩?

发表于 2011-3-9 14:11 |显示全部楼层
此文章由 北风 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 北风 所有!转贴必须注明作者、出处和本声明,并保持内容完整
在你的file server的path给你的web server的IIS_Iusers读写权限应该就行了

发表于 2011-3-9 14:14 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 atransformer 于 2011-3-9 13:57 发表


没错。就是network service, 然后无法upload。。

加了


还是同样的error,

Access to the path '\\file1\IntResearch\aaa.pdf' is denied.  



make sure anonymous authentication disabled --- restart IIS (iisreset)
头像被屏蔽

禁止访问

发表于 2011-3-9 14:21 |显示全部楼层
此文章由 atransformer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 atransformer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 于 2011-3-9 15:14 发表



make sure anonymous authentication disabled --- restart IIS (iisreset)


done exactly as you said. SAME!!!

http://stackoverflow.com/questio ... -file-upload-issues

this guy had exactly same issue!! but he gave up
Advertisement
Advertisement

发表于 2011-3-9 14:23 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Are you able to see HttpContext.Current.User.Identity.Name ?  
should show domain\user

Don't give up.

I have a small website (.net 2.0) here running windows authentication. Able to access windows login for sure

[ 本帖最后由 典 于 2011-3-9 14:25 编辑 ]
头像被屏蔽

禁止访问

发表于 2011-3-9 14:30 |显示全部楼层
此文章由 atransformer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 atransformer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 于 2011-3-9 15:23 发表
Are you able to see HttpContext.Current.User.Identity.Name ?  
should show domain\user

Don't give up.

I have a small website (.net 2.0) here running windows authentication. Able to acces ...


yes, it does show 'MyDomain\MyuserName'. and i do have access to that folder, but just not working

发表于 2011-3-9 14:47 |显示全部楼层
此文章由 flyspirit 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 flyspirit 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你把exception贴出来看看吧

发表于 2011-3-9 14:49 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Wait, when you grant access to that folder, do you configure the permission of sharing (or web sharing-not sure)?
Not only the security tag, but also the "sharing"

发表于 2011-3-9 15:02 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
You can test like this

remote desktop to your webserver, with your win login
run explorer
input \\file1\IntResearch\
Then create new document there and see what will happen

I guess you shared IntResearch
So you need to set pemission of sharing, not only security
Advertisement
Advertisement

发表于 2011-3-9 15:07 |显示全部楼层
此文章由 uowzd01 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 uowzd01 所有!转贴必须注明作者、出处和本声明,并保持内容完整
I had the similar issue before, to me this is the most painful experience as sometimes you included all possible users to have write permission, but still fails.

For a temporary fix, you could set your website's application pool identity to local system, highest permission for io operation.

get so confused with those accounts for iss, like networkservice, asp.net, iisuser etc. Never figured out which one is the correct one.
头像被屏蔽

禁止访问

发表于 2011-3-9 15:16 |显示全部楼层
此文章由 atransformer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 atransformer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 于 2011-3-9 15:49 发表
Wait, when you grant access to that folder, do you configure the permission of sharing (or web sharing-not sure)?
Not only the security tag, but also the "sharing"


already "sharing to everyone"  

发表于 2011-3-9 15:19 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 atransformer 于 2011-3-9 15:16 发表


already "sharing to everyone"  


Sure you sharing to everyone with read/write ??????


I just done a test. copied your code. (VS2008)

The permission of "sharing" made that error happen. Otherwise, upload successful

发表于 2011-3-9 15:22 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
大家先不要讨论permission的问题,先看看httpcontext中的id是什么,这两天我挺闲,刚才手动做了下实验,

1. HttpContext.Current.User.Identity.Name这个东西在vs2010模拟环境下(push f5),可以正确显示我的<domainname>\<username>,但一旦deploy到iis7.5,就不能显示任何东西(blank)。

2.WindowsIdentity.GetCurrent().Name在vs环境下可以正常显示domainname,但上了iis7.5显示 “NT AUTHORITY\IUSR”

3.在web.config中用的是   
    <authentication mode="Windows"/>
    <identity impersonate="true"/>

4.从其它同事的机器access我的iis,也是这个结果。

不是很明白了。

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部