Pregunta

Tengo un formulario de InfoPath que las necesidades de relleno para especificar la gente. Un flujo de trabajo más tarde asigna tareas a estas personas. Lo que estoy buscando es un selector de personas como lo que tiene de SharePoint para los campos de usuario, pero que se puede utilizar en InfoPath. Yo ya he diseñado una forma de hacer esto, donde la carga puede poner en un nombre o correo electrónico y la forma aparecerá una lista de resultados del grupo site.allusers.

El problema es, ¿y si la persona que necesita ser agregados en forma nunca ha accedido a esta colección de sitios en particular antes. Su cuenta no va a ser incluido en la lista AllUsers.

Cuando en el modelo de objetos puedo buscar un usuario que es capaz de autenticar con SharePoint?

¿Fue útil?

Solución

¿Por qué no usar el OTB en InfoPath y configurarlo para que señale el entorno de SharePoint?

http : //www.sharepointassist.com/2009/02/27/adding-a-contact-selectorpeople-picker-to-an-infopath-form/

Si su funcionamiento MOSS con integración de AD, entonces debería recuperar automáticamente todo el mundo que está en su dominio si sincronización de anuncios está habilitada.

Otros consejos

Creo que el problema aquí es que incluso si usted encuentra una lista de usuarios, los flujos de trabajo no activarán las acciones si los usuarios no existen en la lista de información del usuario.

Si los usuarios no existen en la lista de información del usuario, entonces usted no será capaz de encontrar a través del modelo de objetos de SharePoint, ya que no existen en SharePoint. Usted tendrá que encontrar alguna otra manera.

Así que, básicamente, depende de cómo la autenticación se configura en el servidor de SharePoint:

Si está utilizando FBA, a continuación, los usuarios que pueden autenticarse con SharePoint debe existir en alguna parte una base de datos SQL. Membership.Provider le dará un gancho en su proveedor de pertenencia FBA (ya sea un SqlMembershipProvider o algo más). A continuación, puede utilizar métodos como

Membership.Provider.GetUser(username)

para ver si existe un usuario. También puede recorrer sus usuarios o encontrar todos los nombres de usuario existentes que luego se podría mostrar en su selector de personas.

Si está utilizando autenticación de Windows, tendrá que buscar en su anuncio para determinar los posibles usuarios. El DirectoryEntry objeto es lo que necesita. Me imagino que sólo los usuarios de un determinado grupo de anuncios puede tener acceso a SharePoint? Si es así, entonces aislar a ese grupo con el objeto DirectoryEntry, bucle a través de los usuarios y que tendrá su fuente de datos para el selector de personas.

Como he dicho anteriormente, sin embargo, cualquiera de estos métodos le dará los posibles usuarios, pero no va a hacer que el flujo de trabajo si los usuarios no han iniciado sesión. Flujos de trabajo sólo funcionará correctamente con los usuarios que existen en la lista de información del usuario .

Cuando alguien coge un usuario que no existe en SharePoint, es probable que tenga que crearlo a través de código. Una manera segura de hacer esto es con el SPWeb.EnsureUser .

  

Comprueba si el inicio de sesión especificada   nombre pertenece a un usuario válido de la   sitio web, y si el nombre de inicio de sesión hace   No existen ya, lo añade a la Web   site.site.

Así que en realidad, para responder a su pregunta, en ninguna parte. Usted tiene que mirar para ellos donde podrían ser viniendo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top