Frage

Ich habe ein InfoPath-Formular, dass die Füllstoff Bedürfnisse Menschen zu spezifizieren. Ein Workflow später ordnet Aufgaben zu diesen Menschen. Was ich suche ist ein Mensch-Picker wie das, was Sharepoint hat für Benutzerfelder, aber dass ich in InfoPath verwenden kann. Ich habe bereits ein Formular entworfen, dies zu tun, wo der Füllstoff in einem Namen oder E-Mail setzen und das Formular ergibt sich aus der site.allusers Gruppe Liste.

Das Problem ist, was passiert, wenn die Person, die Bedürfnisse in die Form hinzugefügt werden, noch nie diese besondere Websitesammlung abgerufen. Ihr Konto wird nicht in der AllUsers Liste aufgeführt werden.

Wo im Objektmodell kann ich für einen Benutzer suchen, die mit Sharepoint zu authentifizieren ist in der Lage?

War es hilfreich?

Lösung

Warum nicht einfach die OTB eines in InfoPath verwenden und konfiguriert, um Punkt auf Sharepoint-Umgebung?

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

Wenn Ihr MOSS mit AD-Integration läuft, dann sollte es automatisch alle abrufen, dass die in Ihrer Domäne, wenn AD Synch aktiviert ist.

Andere Tipps

ich denke, dass das Problem hier ist, dass selbst wenn Sie eine Liste der Benutzer finden, werden die Workflows keine Aktionen auslösen, wenn die Benutzer nicht existieren in der Benutzerinformation Liste.

Wenn die Benutzer in der Benutzerinformation Liste nicht existieren, dann werden Sie nicht in der Lage sein, sie über das Sharepoint-Objektmodell zu finden, weil sie existieren nicht in Sharepoint. Sie haben sie einen anderen Weg zu finden.

Also im Grunde, es hängt davon ab, wie die Authentifizierung auf dem Sharepoint-Server konfiguriert ist:

Wenn Sie FBA verwenden, dann werden die Benutzer, die mit Sharepoint authentifizieren kann, muss in einer SQL-Datenbank irgendwo existieren. Membership.Provider erhalten Sie einen Haken auf Ihrem FBA-Mitgliedschaft Anbieter geben (ob es sich um eine SqlMembershipProvider oder etwas anderes ist). Anschließend können Sie Methoden verwenden, wie

Membership.Provider.GetUser(username)

, um zu sehen, ob ein Benutzer vorhanden ist. Sie können auch eine Schleife durch die Benutzer oder alle die bestehenden Benutzername, die Sie dann in Ihrer Personenauswahl angezeigt werden können.

Wenn Sie Windows-Authentifizierung verwenden, werden Sie in Ihrem AD suchen, um die potenziellen Nutzer zu finden. Die Directory Objekt ist das, was Sie benötigen. Ich stelle mir vor, dass nur Benutzer von einer bestimmten AD-Gruppe Sharepoint zugreifen kann? Wenn ja, dann isoliert, dass die Gruppe mit dem Directory Objekt, eine Schleife durch die Benutzer und Sie werden Ihre Datenquelle für die Personenauswahl haben.

, sagte Wie ich oben allerdings, entweder Methode werden Sie die möglichen Benutzer geben, aber es wird nicht die Workflow-Arbeit machen, wenn die Benutzer nicht angemeldet haben. Workflows nur richtig mit Benutzern arbeiten, die existieren in der Benutzerinformation Liste .

Wenn jemand einen Benutzer wählt, die nicht in Sharepoint nicht vorhanden ist, werden Sie wahrscheinlich es über Code erstellen müssen. Ein sicherer Weg, dies zu tun ist mit dem SPWeb.EnsureUser .

  

überprüft, ob die angegebenen Login   Name gehört zu einem gültigen von der   Website, und wenn der Login-Name tut   nicht bereits vorhanden ist, fügt es das Web   site.site.

Also wirklich, Ihre Frage zu beantworten, nirgends. Sie müssen sie suchen, wo sie von kommen könnte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top