jov*_*nas 5 c# .net-4.0 active-directory
我被指派修改WinForms应用程序,基本上检查登录用户是否属于特定域.这是我到目前为止所提出的:
byte[] domainSid;
var directoryContext =
new DirectoryContext(DirectoryContextType.Domain, "domain.se");
using (var domain = Domain.GetDomain(directoryContext))
using (var directoryEntry = domain.GetDirectoryEntry())
domainSid = (byte[])directoryEntry.Properties["objectSid"].Value;
var sid = new SecurityIdentifier(domainSid, 0);
bool validUser = UserPrincipal.Current.Sid.IsEqualDomainSid(sid);
Run Code Online (Sandbox Code Playgroud)
有没有更好/更简单的方法来做到这一点?对我来说,似乎可以使用PrincipalContext或System.Security.Principal中的其他类以某种方式访问domainSid.
我考虑过使用硬编码的SID字符串,但我不知道它是多么"正确".
归档时间: |
|
查看次数: |
3853 次 |
最近记录: |