(2) Может на клиенте? (3)+1, а если более точно, то вызвать серверную процедуру. Но вообще не очень понятно что тебе в итоге нужно получить. Что ты с этим пользователем делать дальше будешь?
Тогда используй параметр сеанса как посоветовали в (4) (если такой параметр есть) для получения текущего пользователя в серверной функции, которая возвращает текущего пользователя. А в документе вызывай эту серверную функцию.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший