Я думаю, что для того, чтобы получить токен пользователя, вы должны запустить свой код с повышенными привилегиями, и это может быть причиной помпезности входа в систему (поскольку анонимный пользователь не имеет прав для получения токена другого пользователя)
Пример
SPSecurity.RunWithElevatedPrivileges(delegate()
{
//is important that you instantiate your SPSite object within you elevated code
using (SPSite oSite = new SPSite("your site URL"))
{
using (SPWeb oWeb = "your web")
{
//your code to run elevated
}
}
});