Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Получить группы, к которым принадлежит пользователь / 4 сообщений из 4, страница 1 из 1
01.08.2006, 16:29
    #33892546
Махмуд
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить группы, к которым принадлежит пользователь
Привет!
Если остались те, кого я еще не задолбал, то еще один вопросик


Мне нужно получить с компьютера список локальных групп, к которым принадлежит пользователь. Я делаю следующее:

WindowsIdentity windowsIdentity = WindowsIdentity.GetCurrent();
IdentityReferenceCollection groups = windowsIdentity.Groups;
for (int i = 0; i < groups.Count - 1; i++)
Response.Write(groups[i] + "</br>");


И получается полный бред:S-1-5-21-2190739672-1992552446-3959831054-513
S-1-1-0
S-1-5-21-789336058-796845957-1417001333-1021
S-1-5-32-544
S-1-5-32-545
S-1-5-4
S-1-5-11
S-1-2-0
S-1-5-21-2190739672-1992552446-3959831054-1144
S-1-5-21-2190739672-1992552446-3959831054-2421
S-1-5-21-2190739672-1992552446-3959831054-3101
S-1-5-21-2190739672-1992552446-3959831054-2298
S-1-5-21-2190739672-1992552446-3959831054-3127
S-1-5-21-2190739672-1992552446-3959831054-3131
S-1-5-21-2190739672-1992552446-3959831054-3100


Эт чего такое? 
И как это перевести на простой английский типа "Administrators", "Superusers", "Megasuperusers"?
...
Рейтинг: 0 / 0
01.08.2006, 17:21
    #33892741
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить группы, к которым принадлежит пользователь
...
Рейтинг: 0 / 0
01.08.2006, 18:43
    #33892971
Махмуд
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить группы, к которым принадлежит пользователь
Все так красиво и толково.... Только вот грабли - на сервере, к которому я подключаюсь, не поднят LDAP. Обычный, грубо говоря, компьютер 
с обычными группами пользователей.
Насколько я понял из своих поисков, вот эти самые кракозябры - это и есть идентификаторы групп. Только вот как по ним дернуть настоящие имена - это вопрос.
...
Рейтинг: 0 / 0
02.08.2006, 11:08
    #33893865
Махмуд
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить группы, к которым принадлежит пользователь
Хм... на самом деле все просто, оказывается.

В Web.config пишем:<authentication mode="Windows"/>
        <authorization>
            <deny users="?"/>
        </authorization>
        <roleManager defaultProvider="WindowsProvider"
             enabled="true"
             cacheRolesInCookie="false">
            <providers>
                <add
                 name="WindowsProvider"
                 type="System.Web.Security.WindowsTokenRoleProvider" />
            </providers>
        </roleManager>


А в коде -
WindowsTokenRoleProvider token = new WindowsTokenRoleProvider();
String[] roles = token.GetRolesForUser(User.Identity.Name);
foreach (String role in roles)
Response.Write(role.ToString() + "</br>");


Век живи - век учись, дураком помрешь :)
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Получить группы, к которым принадлежит пользователь / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]