|
ADsSecurityClass;sharepoint 2003 .net 2.0
|
|||
---|---|---|---|
#18+
Господа, прочитал про существование библиотеки ADsSecurity.dll. Суть задачи сводится к получению информации о правах файла, расположенного в сети. Вот, пример рабочего кода: string path = "FILE:////comp/1/10.mp3"; ADsSecurityClass adsi = new ADsSecurityClass(); SecurityDescriptor secDesc = (SecurityDescriptor)adsi.GetSecurityDescriptor(path); AccessControlList dacl = (AccessControlList)secDesc.DiscretionaryAcl; // Response.Write(" " + Page.User.Identity.Name + " "); foreach (AccessControlEntry ace in dacl) { string f = "sss"; // Response.Write(ace.Trustee + ": " + Page.User.IsInRole(ace.Trustee) + " "); } При создании console application, запускающегося с моей учеткой, я получаю в ace.Trustee список групп и пользователей. Все нормально. НО! У меня код содержится в webpart и здесь начинаются грабли. Если я запускаю IE с удаленной машины (к примеру с машины comp), то при выполнении этого кода лезет ошибка: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. at ADSSECURITYLib.ADsSecurityClass.GetSecurityDescriptor(Object varPath) at adgroups.adgroups.MainForm() Interop.ADSSECURITYLib При этом, если я запускаю IE локально с сервера SPPS, то все нормально. Насколько я понимаю дело в правах, которые IE передает с удаленной машины на сервер и под которым запускается мой webpart. Помогите советом - где копать? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2007, 14:52 |
|
|
start [/forum/topic.php?fid=12&fpage=20&tid=1330600]: |
0ms |
get settings: |
11ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
39ms |
get topic data: |
7ms |
get forum data: |
1ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 373ms |
total: | 495ms |
0 / 0 |