recurso - Sharepoint: ¿cómo establecer el nivel de permiso para agregar un elemento pero no ver?
permisos paginas sharepoint (11)
Quiero permitir que cierto grupo de usuarios agregue elementos a una lista, pero no pueda ver todos los elementos. Esto es para que pueda configurar un flujo de trabajo con ciertas partes privadas. Pensé que sería posible al definir un nuevo nivel de permiso en:
http: //servername/_layouts/addrole.aspx (página ''Agregar un nivel de permiso'')
Sin embargo, cuando selecciona el permiso de la lista "Agregar elementos", "ver elementos" también se marca automáticamente.
¿Alguien sabe alguna solución a esto?
De fábrica con el diseñador de SharePoint, solo puedo pensar en utilizar un flujo de trabajo para mover cualquier elemento de una lista pública de "buzones" a una lista segura.
Un usuario puede ver y cargar elementos en el buzón público, pero inmediatamente se inicia un flujo de trabajo que simplemente mueve el contenido a otra lista idéntica y segura. Puede decidir si necesita permitir la sobrescritura de contenido o no.
Una solución hacky, pero eso sin programación que es todo lo que es SharePoint. (Mi compañía no me deja escribir código todavía)
The View Items es un permiso dependiente para Agregar elementos, por lo que no estoy seguro si podemos agregar esos permisos OOB en sharepoint, échele un vistazo aquí: ( http://office.microsoft.com/en-us/sharepointtechnology/HA101001491033.aspx )
Puede tener una solución sucia para crear 2 listas y luego de agregar el código en el evento agregado del elemento de la primera lista para agregar un elemento a otra lista y luego eliminarlo de la primera lista, sin estar seguro de si esta es una buena solución. . .
En realidad, no especificó qué tipo de lista está utilizando, pero si busca en la configuración de la lista en "Configuración avanzada", probablemente encontrará una sección "Permisos de nivel de elemento". Esto le permitirá elegir limitar a los usuarios a leer (o editar) solo los artículos que han enviado. Esto va más allá de cualquier otra ACL establecida en la lista o sus elementos.
Creo que el permiso de uso avanzado no es accesible, ya que no puede evitar que quien lo envíe lo vea, de lo contrario, ¡es una buena solución! El flujo de trabajo debería, creo, hacer el trabajo. Solo asegúrate de que cuando se haya activado un elemento cargado, se active el flujo de trabajo. Entonces, si puede construir un flujo de trabajo que pueda establecer un permiso específico para el artículo, todo debe hacerse. Si no se ensucia la mano con el flujo de trabajo de construcción, vaya a 3w.sharepointboost.com cuando tenga una especie de solución plug and play llamada Permiso de vista de columna.
Estaba trabajando en una solución rápida para esto, investigando cuando encontré este mensaje. Además del flujo de trabajo de SPD, no funcionará con usuarios anónimos, estaba pensando en hacer un formulario html de infopath que envíe el formulario por correo a una biblioteca de formularios. Puede tener una biblioteca de formularios como sitio para iniciar el formulario y luego tener los resultados almacenados en una biblioteca de formularios diferente. Como puede configurar la biblioteca de formularios para que acepte correos electrónicos de cualquier persona, puede impedir que las personas lean, pero aún así pueden editar.
No he intentado esto pero si encuentro problemas publicaré comentarios.
Como una opción a mitad de camino, puede configurar la lista para mostrar solo los elementos a su propietario ( Configuración> Configuración avanzada y luego establecer opciones para Acceso de lectura / Editar acceso como "Solo el suyo". Esto no impedirá que una persona vea todos los artículos que fueron agregados por ellos, pero no habrá nada visible fuera de este permiso (que no sea de un propietario de la lista).
Tuve un problema similar, donde no quería que los usuarios anónimos vean los contenidos de la lista.
La misma solución podría funcionar para esto.
En el diseñador de SharePoint (por alguna razón no pudo editar la página en la web), abra la página DispForm.aspx y en las propiedades de la parte web, agregue un público objetivo (si no quiere que nadie lo vea oculto) NO BORRE WEBPART - haciendo esto. tu lista totalmente!
Puede hacer lo mismo con AllItems.aspx
Espero que esto ayude.
Estoy completamente de acuerdo con ''Ceesaaxp''. En Configuración avanzada para la lista, establezca Acceso de lectura solo a los suyos . Creé un proceso de Gestión del conocimiento, mediante el cual creé dos listas, una para artículos de conocimiento pendientes y otra para aprobación. Modifiqué la página ''Nuevo formulario'' para la lista Pendiente y desactivé un cuadro desplegable usando JavaScript, que se usó como el estado del artículo. Este desplegable se establece permanentemente como ''Pendiente''. También creé un nuevo nivel de permiso que permite a los usuarios agregar solo elementos. Luego creé un flujo de trabajo que mueve el artículo a la lista Aprobado cuando el cuadro desplegable de estado se establece en ''Aprobado''.
Luego cambié la configuración de solo lectura en la configuración avanzada de la lista pendiente a solo la suya, por lo que todos los artículos de conocimiento se aprueban antes de que se publiquen.
@Jomit. Su solución alternativa puede funcionar, pero tiene el problema de las condiciones de carrera. Los usuarios aún pueden tener la oportunidad de ver otros artículos. Esto puede ser un no-no dependiendo de tus reglas.
Las listas regulares en SharePoint ofrecen esta opción en Configuraciones / Configuraciones Avanzadas / Permisos a Nivel de Elemento. Aunque por alguna razón esta opción no se encuentra en la GUI para bibliotecas de documentos y formularios .
Una posible solución es escribir un programa simple para realizar estos cambios utilizando el Modelo de objetos de SharePoint. http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist.writesecurity.aspx
// Sample code for setting writing and reading security on a form library
class Program
{
static void Main(string[] args)
{
using (SPSite site = new SPSite(args[0]))
{
using (SPWeb web = site.OpenWeb())
{
SPList list = web.Lists[args[1]];
list.WriteSecurity = 2;
list.ReadSecurity = 2;
list.Update();
}
}
}
}
Use un paso de suplantación en el flujo de trabajo.
$spweb=Get-SPWeb -Identity "<site url>";
$spRoleDefinition = New-Object Microsoft.SharePoint.SPRoleDefinition;
$spRoleDefinition.Name = "Submit only";
$spRoleDefinition.Description = "Can submit/add forms/files/items into library or list but cannot view/edit them.";
$spRoleDefinition.BasePermissions = "AddListItems, ViewPages, ViewFormPages, Open";
$spweb.RoleDefinitions.Add($spRoleDefinition);
Tomado de: http://sajiviswam.wordpress.com/2011/12/09/add-only-permission-level-in-sharepoint-2010/