Получить имя пользователя от SecurityIdentifier - PullRequest
0 голосов
/ 16 сентября 2010

Я использую проверку подлинности Windows на веб-сайте, где пользователи создают отчеты, которые хранятся в базе данных. Когда я сохраняю отчет, я хочу знать, какой пользователь заполнил его, поэтому я храню SecurityIdentifier их WindowsIdentity в базе данных, чтобы определить, какой пользователь заполнил отчет. Вот код, который я использую для получения значения SecurityIdentifier для текущего пользователя Windows:

public static string GetCurrentUserSID()
{
    IPrincipal princ = HttpContext.Current.User;
    WindowsIdentity winId = princ.Identity as WindowsIdentity;
    SecurityIdentifier si = winId.User;
    string securityIdentifierValue = winId.User.Value;
    return securityIdentifierValue;
}

Вопросы * * 1004 Правильно ли я поступаю, сохраняя SecurityIdentifier в базе данных вместо имени пользователя или какого-либо другого значения? Какова наилучшая практика в такой ситуации? Как получить имя пользователя из сохраненного мной значения SecurityIdentifier?

1 Ответ

2 голосов
/ 16 сентября 2010

Должен содержать имя пользователя:

HttpContext.Current.User.Identity.Name
...