Flusso di lavoro può compito non assegnare all'utente in un altro organizzativa di Active Directory?
-
16-10-2019 - |
Domanda
Sto cercando di creare un'attività, in un VS 2010 il flusso di lavoro, e assegnarla a uno dei nostri utenti del dominio. Questo ragazzo non è un utente raccolta siti, ma sto supponendo che lui sarà aggiunto al Sharepoint automaticamente. E 'inoltre situato in un altro ramo d'azienda, da qualche parte in Sud Africa. Il codice che sto utilizzando è qualcosa di simile
private void CreateTask_MethodInvoking(object sender, EventArgs e)
{
TaskProps = new SPWorkflowTaskProperties();
TaskId = Guid.NewGuid();
TaskProps.AssignedTo = @"MYDOMAIN\username";
TaskProps.Title = "Sample task";
}
Una volta che ho distribuire ed eseguire il flusso di lavoro, il compito viene creato più che bene, ma la "assegnato a" il campo è vuoto. Gli spettacoli del registro eventi che "l'utente non esiste o non è unica."
Inoltre, se creo un compito a mano, e mettere MYDOMAIN \ nome utente nel "assegnato a" campo, esso viene creato senza problemi, e l'utente viene importato alla raccolta siti. Dopo di che, il flusso di lavoro viene eseguito tutto a posto. Manualmente l'aggiunta di ciascuno dei nostri utenti di dominio oltre 200 per la raccolta siti non è un'opzione, però. Suggerimenti?
Soluzione
Il presupposto che l'utente viene aggiunto alla raccolta siti non è vero. Non è possibile assegnare un compito a un utente che non dispone permissiosn nella raccolta siti, ma non c'è bisogno di aggiungere tutti gli utenti manualmente.
- fare come suggerisce MBSurf e aggiungere l'utente in codice
- mettere tutti gli utenti di un gruppo in AD (se non ne hai già uno) e assegnare il gruppo al sito di SharePoint
- Grant "tutti gli utenti autenticati" autorizzazioni per l'elenco delle attività in modo da compiti possono essere assegnati a nessuno ...
Altri suggerimenti
In MOSS, vorrei fare qualcosa di simile di seguito:
SPUser spUser = null;
try
{
// Attempt to get the user first
spUser = userCollection[user];
}
catch (Exception)
{
// The User does not exist, so we need to add them
userCollection.Add(user, string.Empty, user, string.Empty);
spUser = userCollection[user];
}
Poi, mi avrebbe salvato SPUser nel campo Assegnato a.