“无法将System.Byte []的对象强制转换为ActiveDs.IADsSecurityDescriptor”

时间:2012-11-06 06:47:45

标签: c# asp.net openldap

我的问题是我正在使用LDAPconnection类并通过SSL连接。我设法获得nTSecurityDescriptor值,但现在得到错误

  

“无法将System.Byte []的对象强制转换为ActiveDs.IADsSecurityDescriptor”

我正在使用这样的代码

SearchResponse response = (SearchResponse)connection.SendRequest(request);
IADsSecurityDescriptor sd = (IADsSecurityDescriptor)response.Entries[0].Attributes["nTSecurityDescriptor"][0];

是否有任何错误或其他方法可以执行此操作?

1 个答案:

答案 0 :(得分:2)

最后我找到了问题的答案。此类将byte []转换为有效的安全描述符comobject。

ActiveDs.ADsSecurityUtility secUtility = new ActiveDs.ADsSecurityUtility();
ActiveDs.IADsSecurityDescriptor sd = (IADsSecurityDescriptor)secUtility.ConvertSecurityDescriptor((byte[])attribute[0], (int)ADS_SD_FORMAT_ENUM.ADS_SD_FORMAT_RAW, (int)ADS_SD_FORMAT_ENUM.ADS_SD_FORMAT_IID);
相关问题