Не понимаю как работает WindowsPrincipal и WindowsIdentity
От: senglory  
Дата: 02.12.13 17:51
Оценка:
Есть вот такой код. Текущий юзер зачислен в локальные админы на компе, где это все запускается. Также он входит в доменную группу YYY Setup Group.

var b = WindowsPrincipal.Current.IsInRole(@"TEST\YYY Setup Group");
var ba = WindowsPrincipal.Current.IsInRole(@"BUILTIN\Administrators");
WindowsIdentity id = WindowsIdentity.GetCurrent();
WindowsPrincipal wPrincipal = new WindowsPrincipal(id);
bool st = wPrincipal.IsInRole(@"TEST\YYY Setup Group");
bool sta = wPrincipal.IsInRole(@"BUILTIN\Administrators");


Вопрос — почему b = false, ba = false, а st = true и sta = false?
Re: Не понимаю как работает WindowsPrincipal и WindowsIdentity
От: -rsdn- Беларусь http://dsalodki.wix.com/resume
Дата: 02.12.13 20:27
Оценка:
Здравствуйте, senglory, Вы писали:

S>Есть вот такой код. Текущий юзер зачислен в локальные админы на компе, где это все запускается. Также он входит в доменную группу YYY Setup Group.


S>
S>var b = WindowsPrincipal.Current.IsInRole(@"TEST\YYY Setup Group");
S>var ba = WindowsPrincipal.Current.IsInRole(@"BUILTIN\Administrators");
S>WindowsIdentity id = WindowsIdentity.GetCurrent();
S>WindowsPrincipal wPrincipal = new WindowsPrincipal(id);
S>bool st = wPrincipal.IsInRole(@"TEST\YYY Setup Group");
S>bool sta = wPrincipal.IsInRole(@"BUILTIN\Administrators");
S>


S>Вопрос — почему b = false, ba = false, а st = true и sta = false?


WindowsPrincipal.Current разве так можно писать?

namespace System.Security.Principal
{
[Serializable]
[ComVisible(true)]
public class WindowsPrincipal : IPrincipal
{
public WindowsPrincipal(WindowsIdentity ntIdentity);

public virtual IIdentity Identity { get; }

public virtual bool IsInRole(int rid);

[ComVisible(false)]
[SecuritySafeCritical]
public virtual bool IsInRole(SecurityIdentifier sid);

[SecuritySafeCritical]
public virtual bool IsInRole(string role);

public virtual bool IsInRole(WindowsBuiltInRole role);
}
Re[2]: Не понимаю как работает WindowsPrincipal и WindowsIdentity
От: senglory  
Дата: 03.12.13 02:23
Оценка:
Здравствуйте, -rsdn-, Вы писали:

R>WindowsPrincipal.Current разве так можно писать?



C MS форума какого-то утянуто, да и компилер признал конструкцию как компилябельную. Что тут не так? .NET 4.5
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.