Вы можете использовать reduce
и деструктурирование следующим образом:
var arr = [
['a1','b1','c1','d1'],
['a1','e1','i1','j1'],
['a1','f1','k1','l1'],
['a1','g1','m1','n1'],
['a1','h1','o1','p1'],
['a2','b2','c2','d2'],
['a2','e2','i2','j2'],
['a2','f2','k2','l2'],
['a2','g2','m2','n2'],
['a2','h2','o2','p2']
];
const newArray = arr.reduce((acc, [key, key2, ...rest]) => {
acc[key] = acc[key] || {};
acc[key][key2] = rest
return acc;
}, {})
console.log(newArray)
Удостоверьтесь, что Пул приложений действительно имеет надлежащие права, в которых Вы нуждаетесь.
Затем когда Вы хотите вернуться к идентификационным данным пула приложений..., выполняет следующее:
private WindowsImpersonationContext context = null;
public void RevertToAppPool()
{
try
{
if (!WindowsIdentity.GetCurrent().IsSystem)
{
context = WindowsIdentity.Impersonate(System.IntPtr.Zero);
}
}
catch { }
}
public void UndoImpersonation()
{
try
{
if (context != null)
{
context.Undo();
}
}
catch { }
}
Я не уверен, является ли это предпочтительным подходом, но когда я хотел сделать это я new'd экземпляр WindowsIdentity и звонил эти , Являются олицетворением метод. Это позволяет последующему коду исполнять роль другого пользователя Windows. Это возвращается WindowsImpersonationContext, который имеет Отмена метод, который возвращается контекст олицетворения назад снова.
Вы могли выключить аутентификацию для страницы и затем вручную исполнить роль аутентифицируемого пользователя во время остатка от Вашего кода.
http://support.microsoft.com/kb/306158
Это имеет ссылку на ту последнюю часть, но в основном Вы исполняете роль Пользователя. Идентификационные данные
Это будет означать, что необходимо будет явиться олицетворением в начале любого вызова к странице, выключить их, когда Вы нуждаетесь в них прочь, затем снова включаете их, когда Вы сделаны, но это должно быть осуществимое решение.
Я только что закончил тем, что дал папки, пишут полномочия "Аутентифицируемым Пользователям"