private void SetGrandAccess(GenericSecurity security, int accessMask, SafeHandle safeHandle) { var rule = new GrantAccessRule(AccountInfo, accessMask, AccessControlType.Allow); security.SetAccessRule(rule); security.Persist(safeHandle, AccessControlSections.Access); }
private static void GrantAccess(IdentityReference account, NoopSafeHandle handle, int accessMask) { GenericSecurity security = new GenericSecurity(false, ResourceType.WindowObject, handle, AccessControlSections.Access); security.AddAccessRule(new GenericAccessRule(account, accessMask, AccessControlType.Allow)); security.Persist(handle, AccessControlSections.Access); }
private int?ReadAccessMask(GenericSecurity security, SafeHandle safeHandle, int accessMask) { var ruels = GetAccessRules(security); var username = AccountInfo.Value; if (!username.Contains("\\")) { username = $"{Environment.MachineName}\\{username}"; } var userResult = ruels.Cast <GrantAccessRule>().SingleOrDefault(r => r.IdentityReference.Value.ToLower() == username.ToLower() && accessMask == r.PublicAccessMask); if (userResult == null) { AddGrandAccess(security, accessMask, safeHandle); userResult = ruels.Cast <GrantAccessRule>().SingleOrDefault(r => r.IdentityReference.Value.ToLower() == username.ToLower()); if (userResult != null) { return(userResult.PublicAccessMask); } } else { return(userResult.PublicAccessMask); } return(null); }
private static void GrantAccess(string username, IntPtr handle, int accessMask) { SafeHandle safeHandle = new NoopSafeHandle(handle); GenericSecurity security = new GenericSecurity(false, ResourceType.WindowObject, safeHandle, AccessControlSections.Access); security.AddAccessRule(new GenericAccessRule(new NTAccount(username), accessMask, AccessControlType.Allow)); security.Persist(safeHandle, AccessControlSections.Access); }
private static Trade trade() { SecurityInfo info = SecurityInfo.of(SecurityId.of("OG-Test", "1"), 20, CurrencyAmount.of(USD, 10)); GenericSecurity security = GenericSecurity.of(info); TradeInfo tradeInfo = TradeInfo.builder().counterparty(StandardId.of("cpty", "a")).build(); return(GenericSecurityTrade.builder().info(tradeInfo).security(security).quantity(123).price(456).build()); }
//------------------------------------------------------------------------- public virtual void test_resolveTarget() { GenericSecurity security = GenericSecurity.of(SECURITY.Info); Trade test = sut().resolveTarget(ImmutableReferenceData.of(SECURITY.SecurityId, security)); GenericSecurityTrade expected = GenericSecurityTrade.of(TRADE_INFO, security, 3000, 20); assertEquals(test, expected); }
//------------------------------------------------------------------------- public virtual void test_resolveTarget() { EtdOptionPosition position = sut(); GenericSecurity resolvedSecurity = GenericSecurity.of(SECURITY.Info); ImmutableReferenceData refData = ImmutableReferenceData.of(SECURITY.SecurityId, resolvedSecurity); GenericSecurityPosition expected = GenericSecurityPosition.ofLongShort(POSITION_INFO, resolvedSecurity, LONG_QUANTITY, SHORT_QUANTITY); assertEquals(position.resolveTarget(refData), expected); }
public virtual void test_createProduct_wrongType() { IborFutureOptionSecurity test = sut(); IborFuture future = OPTION.UnderlyingFuture; SecurityId secId = future.SecurityId; GenericSecurity sec = GenericSecurity.of(INFO); ReferenceData refData = ImmutableReferenceData.of(secId, sec); assertThrows(() => test.createProduct(refData), typeof(System.InvalidCastException)); }
public virtual void test_createProduct_wrongType() { BondFutureSecurity test = sut(); ImmutableList <FixedCouponBond> basket = PRODUCT.DeliveryBasket; SecurityId secId = basket.get(0).SecurityId; GenericSecurity sec = GenericSecurity.of(INFO); ReferenceData refData = ImmutableReferenceData.of(secId, sec); assertThrows(() => test.createProduct(refData), typeof(System.InvalidCastException)); }
private void RestAccessMask(int?oldAccessMask, int fullAccessMask, GenericSecurity security, SafeHandle safeHandle) { if (oldAccessMask == null) { RemoveGrantAccess(security, fullAccessMask, safeHandle); } else if (oldAccessMask != fullAccessMask) { SetGrandAccess(security, oldAccessMask.Value, safeHandle); } }
private void Init(NTAccount accountInfo, int windowStationMask, int desktopMask) { AccountInfo = accountInfo; WsSafeHandle = new NoopSafeHandle(GetProcessWindowStation()); WindowStationSecurity = new GenericSecurity(false, ResourceType.WindowObject, WsSafeHandle, AccessControlSections.Access); DSafeHandle = new NoopSafeHandle(GetThreadDesktop(GetCurrentThreadId())); DesktopSecurity = new GenericSecurity(false, ResourceType.WindowObject, DSafeHandle, AccessControlSections.Access); OldWindowStationMask = ReadAccessMask(WindowStationSecurity, WsSafeHandle, windowStationMask); OldDesktopMask = ReadAccessMask(DesktopSecurity, DSafeHandle, desktopMask); }
private void Init(int windowStationMask, int desktopMask) { try { WsSafeHandle = new NoopSafeHandle(GetProcessWindowStation()); WindowStationSecurity = new GenericSecurity(false, ResourceType.WindowObject, WsSafeHandle, AccessControlSections.Access); DSafeHandle = new NoopSafeHandle(GetThreadDesktop(GetCurrentThreadId())); DesktopSecurity = new GenericSecurity(false, ResourceType.WindowObject, DSafeHandle, AccessControlSections.Access); OldWindowStationMask = ReadAccessMask(WindowStationSecurity, WsSafeHandle, windowStationMask); OldDesktopMask = ReadAccessMask(DesktopSecurity, DSafeHandle, desktopMask); } catch (Exception ex) { logger.Error(ex, "The account couldn´t not init."); } }
static void GrantAccess(string username, string?domainName, IntPtr handle, int accessMask) { SafeHandle safeHandle = new NoopSafeHandle(handle); var security = new GenericSecurity( false, ResourceType.WindowObject, safeHandle, AccessControlSections.Access); var account = string.IsNullOrEmpty(domainName) ? new NTAccount(username) : new NTAccount(domainName, username); security.AddAccessRule( new GenericAccessRule( account, accessMask, AccessControlType.Allow)); security.Persist(safeHandle, AccessControlSections.Access); }
static void GrantAccess(string username, string?domainName, IntPtr handle, int accessMask) { SafeHandle safeHandle = new NoopSafeHandle(handle); var security = new GenericSecurity( false, ResourceType.WindowObject, safeHandle, AccessControlSections.Access); var account = string.IsNullOrEmpty(domainName) #pragma warning disable PC001 // API not supported on all platforms ? new NTAccount(username) : new NTAccount(domainName, username); #pragma warning restore PC001 // API not supported on all platforms security.AddAccessRule( new GenericAccessRule( account, accessMask, AccessControlType.Allow)); security.Persist(safeHandle, AccessControlSections.Access); }
private AuthorizationRuleCollection GetAccessRules(GenericSecurity security) { return(security.GetAccessRules(true, false, typeof(NTAccount))); }
private static Security security() { SecurityInfo info = SecurityInfo.of(ID, 20, CurrencyAmount.of(USD, 10)); return(GenericSecurity.of(info)); }