André Cotta Postado Outubro 5, 2006 Denunciar Share Postado Outubro 5, 2006 Estou desevolvendo uma aplicação para adicionar um usuário a um grupo de um outro domínio, os domain controllers são 2000, sp4.Só que no momento em que está sendo inserido acontece o seguinte erro:There is a naming violation. (Exception from HRESULT: 0x80072037)código: DirectoryEntry oGroup = GetDirectoryObjectPorDominio(grupoPerfil, "group", dominioPerfil); DirectoryEntry oUser = GetDirectoryObjectPorDominio(UserName, "user",dominioUsusario); string SID = new SecurityIdentifier((byte[])oUser.Properties["objectSid"][0], 0).Value; string UserPath = "LDAP://" + dominioUsusario + "/<SID=" + SID + ">"; oGroup.Invoke("Add", new Object[] { UserPath }); oGroup.CommitChanges(); oGroup.Close(); oUser.Close();Grato,André Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 André Cotta Postado Outubro 9, 2006 Autor Denunciar Share Postado Outubro 9, 2006 Consegui resolver esse problema da seguinte maneira byte[] bytes = (byte[])oUser.Properties["objectSid"][0]; string UserPath = "LDAP://" + dominioUsusario + "/<SID= + BuildOctetString(bytes) + ">"; oGroup.Invoke("Add", new Object[] { UserPath }); oGroup.CommitChanges(); oGroup.Close(); oUser.Close();----------------------------------- private string BuildOctetString(byte[] bytes) { StringBuilder sb = new StringBuilder(); foreach (byte b in bytes) { sb.Append(b.ToString("X2")); } return sb.ToString(); }Agora estou com problemas na hora de remover o usuário: byte[] bytes = (byte[])oUser.Properties["objectSid][0]; string UserPath = "LDAP://" + dominioUsusario + "/<SID=" + BuildOctetString(bytes) + ">"; oGroup.Invoke("Remove", new Object[] { UserPath }); oGroup.CommitChanges(); oGroup.Close(); oUser.Close();esta acontecendo o seguinte erro:System.DirectoryServices.DirectoryServicesCOMException (0x80072035): The server is unwilling to process the request. (Exception from HRESULT: 0x80072035) --- End of inner exception stack trace --- at ManipulaAD.UsuarioAD.RemoveUserFromGroup(String UserName, String GroupName) in d:\Projetos\MBR\AdminSeg\Aplicacao\AdminSegSln\AdminSegWSPastas\App_Code\UsuarioAD.cs:line 237 at wsPastasCompartilhadas.RevogarAcesso(Int32 IdOperacao, String Sistema, String MatUsuario, String IdAcesso, String IdModExterno, String IdPerfilExterno, String IdVisibilidadeExterno) in d:\Projetos\MBR\AdminSeg\Aplicacao\AdminSegSln\AdminSegWSPastas\App_Code\wsPastasCompartilhadas.cs:line 87 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
André Cotta
Estou desevolvendo uma aplicação para adicionar um usuário a um grupo de um outro domínio, os domain controllers são 2000, sp4.
Só que no momento em que está sendo inserido acontece o seguinte erro:
There is a naming violation. (Exception from HRESULT: 0x80072037)
código:
DirectoryEntry oGroup = GetDirectoryObjectPorDominio(grupoPerfil, "group", dominioPerfil);
DirectoryEntry oUser = GetDirectoryObjectPorDominio(UserName, "user",dominioUsusario);
string SID = new SecurityIdentifier((byte[])oUser.Properties["objectSid"][0], 0).Value;
string UserPath = "LDAP://" + dominioUsusario + "/<SID=" + SID + ">";
oGroup.Invoke("Add", new Object[] { UserPath });
oGroup.CommitChanges();
oGroup.Close();
oUser.Close();
Grato,
André
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.