When/why does SPUtility.ResolvePrincipal return a non-null SPPrincipalInfo with a PrincipalId of -1 ? I can manually assign rights to the user through the web interface. The user resides in an active directory. If I request a non existing user null is being returned as expected. The same logic works for a lot of other users.
SPPrincipalInfo principalInfo = SPUtility.ResolvePrincipal(currentWeb, objectPrincipal, SPPrincipalType.All, SPPrincipalSource.All, null, false);
if (principalInfo == null)
{
result[i][j] = "Can not determine principalInfo for name: " + objectPrincipal;
continue;
}
if (principalInfo.PrincipalId <= 0)
{
result[i][j] = "Got invalid PrincipalId: " + principalInfo.PrincipalId + " in principalInfo for name: " + objectPrincipal;
continue;
}
My log output:
Setting rights failed for user: DOMAIN\usr1 error: Got invalid PrincipalId: -1 in principalInfo for name: DOMAIN\usr1
Any ideas?