本文整理汇总了C#中System.Security.Principal.IdentityReference.Translate方法的典型用法代码示例。如果您正苦于以下问题:C# IdentityReference.Translate方法的具体用法?C# IdentityReference.Translate怎么用?C# IdentityReference.Translate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Security.Principal.IdentityReference
的用法示例。
在下文中一共展示了IdentityReference.Translate方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RegistryAccessRule
public RegistryAccessRule (IdentityReference identity,
RegistryRights registryRights,
InheritanceFlags inheritanceFlags,
PropagationFlags propagationFlags,
AccessControlType type)
// FIXME: accessMask=0 likely causes an error
: base (identity.Translate(typeof(SecurityIdentifier)), 0, false, inheritanceFlags, propagationFlags, type)
{
this.rights = registryRights;
}
示例2: SetPagingFileQuota
public static void SetPagingFileQuota(long sizeBytes, IdentityReference user)
{
string sid = user.Translate(typeof(SecurityIdentifier)).Value;
using (var hklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64))
{
using (var quotaKey = hklm.CreateSubKey(SystemVirtualAddressSpaceQuotas.quotaKey))
{
using (var usersQuotaKey = quotaKey.CreateSubKey(sid))
{
usersQuotaKey.SetValue(pagingFileQuotaValueName, sizeBytes / Environment.SystemPageSize, RegistryValueKind.DWord);
}
}
}
}
示例3: SetNonPagedPoolQuota
public static void SetNonPagedPoolQuota(long sizeBytes, IdentityReference user)
{
if (user == null)
{
throw new ArgumentNullException("user");
}
string sid = user.Translate(typeof(SecurityIdentifier)).Value;
using (var hklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64))
{
using (var quotaKey = hklm.CreateSubKey(SystemVirtualAddressSpaceQuotas.quotaKey))
{
using (var usersQuotaKey = quotaKey.CreateSubKey(sid))
{
usersQuotaKey.SetValue(nonPagedPoolQuotaValueName, sizeBytes / 1024 / 1024, RegistryValueKind.DWord);
}
}
}
}
示例4: InitializeContextFromSid
private SafeAuthzContextHandle InitializeContextFromSid(SafeAuthzRMHandle authzRM, IdentityReference identity)
{
// Create the context for the user
var securityIdentifier = (SecurityIdentifier) identity.Translate(typeof (SecurityIdentifier));
var rawSid = new byte[securityIdentifier.BinaryLength];
securityIdentifier.GetBinaryForm(rawSid, 0);
SafeAuthzContextHandle userClientCtxt;
if (!NativeMethods.AuthzInitializeContextFromSid(
NativeMethods.AuthzInitFlags.Default,
rawSid,
authzRM,
IntPtr.Zero,
NativeMethods.LUID.NullLuid,
IntPtr.Zero,
out userClientCtxt))
{
throw new Win32Exception(Marshal.GetLastWin32Error());
}
return userClientCtxt;
}
示例5: CompareTo
public static bool CompareTo(this IdentityReference left, IdentityReference right)
{
return left != null && right != null ? left.Translate(SecurityIdentifier).ToString().Equals(right.Translate(SecurityIdentifier).ToString(), StringComparison.OrdinalIgnoreCase) : left == right;
}
示例6: RemoveQuotas
public static void RemoveQuotas(IdentityReference user)
{
string sid = user.Translate(typeof(SecurityIdentifier)).Value;
using (var hklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64))
{
using (var quotaKey = hklm.CreateSubKey(SystemVirtualAddressSpaceQuotas.quotaKey))
{
quotaKey.DeleteSubKey(sid, false);
}
}
}
示例7: PurgeAuditRules
public virtual void PurgeAuditRules(IdentityReference identity)
{
if ( identity == null )
{
throw new ArgumentNullException( nameof(identity));
}
Contract.EndContractBlock();
WriteLock();
try
{
_securityDescriptor.PurgeAudit( identity.Translate( typeof( SecurityIdentifier )) as SecurityIdentifier );
_saclModified = true;
}
finally
{
WriteUnlock();
}
}
示例8: SetGroup
public void SetGroup( IdentityReference identity )
{
if ( identity == null )
{
throw new ArgumentNullException( nameof(identity));
}
Contract.EndContractBlock();
WriteLock();
try
{
_securityDescriptor.Group = identity.Translate( typeof( SecurityIdentifier )) as SecurityIdentifier;
_groupModified = true;
}
finally
{
WriteUnlock();
}
}
示例9: SetWorkingSetPagesQuota
public static void SetWorkingSetPagesQuota(long sizeBytes, IdentityReference user)
{
if (user == null)
{
throw new ArgumentNullException("user");
}
string sid = user.Translate(typeof(SecurityIdentifier)).Value;
using (var hklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64))
{
using (var quotaKey = hklm.CreateSubKey(SystemVirtualAddressSpaceQuotas.quotaKey))
{
using (var usersQuotaKey = quotaKey.CreateSubKey(sid))
{
// this will block `testlimit -v`
usersQuotaKey.SetValue(workingSetPagesQuotaValueName, sizeBytes / Environment.SystemPageSize, RegistryValueKind.DWord);
}
}
}
}
示例10: SidFromIR
internal static SecurityIdentifier SidFromIR (IdentityReference identity)
{
if (null == identity)
throw new ArgumentNullException ("identity");
return (SecurityIdentifier)identity.Translate (typeof (SecurityIdentifier));
}
示例11: SetOwner
public void SetOwner(IdentityReference identity)
{
if (identity == null)
{
throw new ArgumentNullException("identity");
}
this.WriteLock();
try
{
this._securityDescriptor.Owner = identity.Translate(typeof(SecurityIdentifier)) as SecurityIdentifier;
this._ownerModified = true;
}
finally
{
this.WriteUnlock();
}
}
示例12: PurgeAuditRules
public virtual void PurgeAuditRules(IdentityReference identity)
{
if (identity == null)
{
throw new ArgumentNullException("identity");
}
this.WriteLock();
try
{
this._securityDescriptor.PurgeAudit(identity.Translate(typeof(SecurityIdentifier)) as SecurityIdentifier);
this._saclModified = true;
}
finally
{
this.WriteUnlock();
}
}
示例13: SetOwner
public static void SetOwner(this MessageQueue queue, IdentityReference identity, bool ownerDefaulted = false)
{
var securityIdentifier = (SecurityIdentifier)identity.Translate(typeof(SecurityIdentifier));
SetOwner(queue, securityIdentifier, ownerDefaulted);
}
开发者ID:gavacho,项目名称:System.Messaging.MessageQueue.SetOwner,代码行数:5,代码来源:System.Messaging.MessageQueue.SetOwner.cs