Если вы используете ASP.NET MVC (или Webforms в этом отношении) с аутентификацией Windows, почему бы просто не использовать имя пользователя, которое вы получаете из этого свойства:
HttpContext.Current.User.Identity.Name
Возвращает домен / имя пользователя. Я работал над корпоративными веб-приложениями, которые использовали это для целей аудита. Мне было бы интересно узнать, считаете ли вы, что это недостаточно уникально для ваших целей.
Также я не уверен, почему вы хотите сохранить SID или GUID пользователя, поскольку его очень трудно читать по сравнению с доменом / пользователем при просмотре журналов аудита.