Problema de Access denied

28/12/2005 - 04:38 por Martin | Informe spam
Hola grupo, estube buscando la respuesta en este grupo por el problema
que tengo, pero no la encontre, por eso este post. Paso a explicar:
Estoy desarrollando una especie de fotolog, cuando un usuario crea un
fotolog el script que tengo crea una carpeta con el nombre que eligio
este ususario y luego de crear la carpeta tiene que copiar un archivo
(index.asp) en la carpeta que se creo.
Para crear la carpeta no tengo problema, el problema esta cuando quiero
copiar el archivo a la carpeta que se creo, en ese caso me dice Access
denied.
Probe asignandole permisos de todos lados a la carpeta, pero siempre me
dice lo mismo.
La estructura es asi: la carpeta de este usuario se tiene que crear en
www.sitioweb.com/usr/, lo cual quedaria www.sitioweb.com/usr/usuario.
cuando creo la carpeta usuario en la carpeta usr, no tengo problema. El
problema esta cuando quiero copiar un archivo a la carpeta usuario.
La PREGUNTA, se puede de alguna forma cambiar el permiso de esa carpeta
(usuario) mediante ASP y luego copiar el archivo??

Saludos!
Martin

Preguntas similare

Leer las respuestas

#1 atujpay
28/12/2005 - 06:15 | Informe spam
Saludos Martin.. este link podria servirte:
http://www.aspfaq.com/show.asp?id 39
Respuesta Responder a este mensaje
#2 Martin
28/12/2005 - 12:44 | Informe spam
Esta bueno el tuto, pero siguiendo los pasos que ahi aparecen lo mismo
me da error. Este es el codigo que tengo
La variable nombre toma el valor de un formulario
carpeta = server.MapPath("./" & nombre)
arch_base = server.MapPath("./kerb2k/index.asp")
set fso = server.CreateObject("Scripting.FileSystemObject")
fso.CreateFolder(carpeta)
fso.CopyFile arch_base,carpeta <-- el error esta aca.
cuando quiero copiar el
set fso = nothing archivo
index.asp a la nueva carpeta.

no se si sera porque no hereda los permisos de la carpeta superior. La
nueva carpeta tendria que heredar los permisos de la que esta en el
nivel superior?? o no.

Saludos!
Martin
Respuesta Responder a este mensaje
#3 Matías Iacono
28/12/2005 - 17:58 | Informe spam
Si, debería hacer la herencia.

La pregunta es, bajo que sistema operativo estas?

Por otro lado, a que usuario le das permiso sobre la carpeta?

Saludos.

Matías Iacono
Microsoft MVP ASP/ASP.net - DCE3
Coordinador de evento Comunidad MSDN Bolivia
"Martin" escribió en el mensaje
news:
Esta bueno el tuto, pero siguiendo los pasos que ahi aparecen lo mismo
me da error. Este es el codigo que tengo
La variable nombre toma el valor de un formulario
carpeta = server.MapPath("./" & nombre)
arch_base = server.MapPath("./kerb2k/index.asp")
set fso = server.CreateObject("Scripting.FileSystemObject")
fso.CreateFolder(carpeta)
fso.CopyFile arch_base,carpeta <-- el error esta aca.
cuando quiero copiar el
set fso = nothing archivo
index.asp a la nueva carpeta.

no se si sera porque no hereda los permisos de la carpeta superior. La
nueva carpeta tendria que heredar los permisos de la que esta en el
nivel superior?? o no.

Saludos!
Martin

Respuesta Responder a este mensaje
#4 Martin
28/12/2005 - 21:07 | Informe spam
Estoy trabajando con Windows 2003, al usuario que le doy permiso en al
IUSR_LOGOS, y en las opciones del IIS del sitio este, a la carpeta usr
(que es la que contiene las carpetas de los usuarios que tengo que
crear) tilda la opcion que dice Write o algo asi.

Pero no se que puede ser.
No se que otra forma puedo hacer, porque lo que tengo que hacer es
basicamente crear una carpeta con el nombre del usuario y copiar un
archivo asp, que es index.asp, este archivo lo que hace es lo
siguiente.

dim rs, sql, idfotolog, idusu, fotolog, aux, url
aux = split(request.ServerVariables("PATH_INFO"),"/")
fotolog = aux(ubound(aux)-1)
sql = "select * from fotolog where nombre='" & fotolog & "';"
set rs = cn.execute(sql)
if not rs.eof then
idfotolog = rs("id")
idusu = rs("idusu")
findice = rs("fotoindice")
hits = rs("hits")
url = "../fotolog.asp?fl=" & idfotolog & "&us=" & idusu & "&fo=" &
findice
set rs = nothing
hits = hits + 1
cn.execute("update fotolog set `hits`=" & hits & " where id=" &
idfotolog)
response.Redirect(url)

a lo que quiero llegar con todo esto es que al usuario que se registra
tenga una direccion mas corta y que le sea facil acordarse. Porque sino
tendria una direccion como
www.fblog.com.ar/usr/fotolog.asp?fl34&us9&fo=2
que otra cosa puedo implementar?? si esto no se puede.

Saludos
Respuesta Responder a este mensaje
#5 Matías Iacono
29/12/2005 - 17:03 | Informe spam
El codigo es correcto, el problema esta mas en el usuario.

No tengo el usuario exacto en mente, ya que no trabajo con 2003, pero al
igual que en versiones anteriores de windows, el usuario que se le deben dar
permisos es el IUSER_NombreMaquina, ya que cuando una pagina web quiere
acceder a los recursos de la maquina, lo hace por medio de un usuario
anonimo para internet.

En 2003 creo que hay un usuario similar, si le das permisos sobre la carpeta
padre a este usuario, no deberias tener problemas.

Saludos.

Matías Iacono
Microsoft MVP ASP/ASP.net - DCE3
Coordinador de evento Comunidad MSDN Bolivia
"Martin" escribió en el mensaje
news:
Estoy trabajando con Windows 2003, al usuario que le doy permiso en al
IUSR_LOGOS, y en las opciones del IIS del sitio este, a la carpeta usr
(que es la que contiene las carpetas de los usuarios que tengo que
crear) tilda la opcion que dice Write o algo asi.

Pero no se que puede ser.
No se que otra forma puedo hacer, porque lo que tengo que hacer es
basicamente crear una carpeta con el nombre del usuario y copiar un
archivo asp, que es index.asp, este archivo lo que hace es lo
siguiente.

dim rs, sql, idfotolog, idusu, fotolog, aux, url
aux = split(request.ServerVariables("PATH_INFO"),"/")
fotolog = aux(ubound(aux)-1)
sql = "select * from fotolog where nombre='" & fotolog & "';"
set rs = cn.execute(sql)
if not rs.eof then
idfotolog = rs("id")
idusu = rs("idusu")
findice = rs("fotoindice")
hits = rs("hits")
url = "../fotolog.asp?fl=" & idfotolog & "&us=" & idusu & "&fo=" &
findice
set rs = nothing
hits = hits + 1
cn.execute("update fotolog set `hits`=" & hits & " where id=" &
idfotolog)
response.Redirect(url)

a lo que quiero llegar con todo esto es que al usuario que se registra
tenga una direccion mas corta y que le sea facil acordarse. Porque sino
tendria una direccion como
www.fblog.com.ar/usr/fotolog.asp?fl34&us9&fo=2
que otra cosa puedo implementar?? si esto no se puede.

Saludos

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida