Example #1
0
        public static void Assert(this AccessState state, string message = null, bool allowRestricted = false)
        {
            if (state == AccessState.Available)
            {
                return;
            }

            if (allowRestricted && state == AccessState.Restricted)
            {
                return;
            }

            throw new ArgumentException(message ?? $"Invalid State " + state);
        }
        void Append(string text, AccessState current, Func <Task <AccessState> > request)
        {
            var item = new CommandItem
            {
                Text   = text,
                Detail = current.ToString()
            };

            item.PrimaryCommand = ReactiveCommand.CreateFromTask(async() =>
            {
                var r       = await request();
                item.Detail = r.ToString();
            });
            this.List.Add(item);
        }
Example #3
0
 public void ShowMiracleAccess(bool _show)
 {
     if (MiracleEnter != null)
     {
         AccessState accessState = GameCenter.miracleMng.miracleStatus;
         if (_show && accessState != AccessState.ACHIEVE && accessState != AccessState.NONE)
         {
             MiracleEnter.OpenUI();
         }
         if (!_show && accessState == AccessState.ACHIEVE && accessState != AccessState.NONE)
         {
             MiracleEnter.CloseUI();
         }
     }
 }
Example #4
0
        public static bool AlertAccess(this IDialogService dialogs, AccessState access)
        {
            switch (access)
            {
            case AccessState.Available:
                return(true);

            case AccessState.Restricted:
                dialogs.LongAlert("警告:访问受限");
                return(true);

            default:
                dialogs.LongAlert("无效的访问状态: " + access);
                return(false);
            }
        }
        public void TestOptionAccessEndpoint(AccessState accessState, HttpStatusCode httpStatusCode, ResultCode resultCode)
        {
            AccessEndpointManager accessEndpointHandler = new AccessEndpointManager();
            var requestDic = new Dictionary <string, object>()
            {
                ["id"]        = -1,
                ["name"]      = "my test access endpoint option",
                ["parent_id"] = 0,
                ["sort"]      = 0,
                ["enabled"]   = 1,
                ["type"]      = 0,
            };
            var response = accessEndpointHandler.AccessEndpoint <List <OptionWriteResponse> >(accessState, OptionManager.OptionUpdateEndpoint, requestDic, HttpMethod.Post);

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(httpStatusCode).And.ErrorCode((int)resultCode), $"Still able to insert option.");
        }
        public void PostResetPasswordAccessEndpoint(AccessState accessState, HttpStatusCode httpStatusCode, ResultCode resultCode)
        {
            var defaultCompanyName = AuthenticationInfoProvider.Current.DefaultCompanyName;
            var defaultUserLogin   = AuthenticationInfoProvider.Current.DefaultUserLogin;

            AccessEndpointManager accessEndpointHandler = new AccessEndpointManager();
            var parameterRequest = new Dictionary <string, object>(Common.ResetPasswordParameters);

            parameterRequest["companyLoginId"] = defaultCompanyName;
            parameterRequest["username"]       = defaultUserLogin;
            parameterRequest["token"]          = Common.RefreshToken(defaultCompanyName, defaultUserLogin);
            var response = accessEndpointHandler.AccessEndpoint <ResetUserPasswordResponse>(accessState, $"/privateapi/authentication/reset-password", parameterRequest, HttpMethod.Post);

            LastPassword = Common.CheckUpdatedPassword(response) ? Common.NewPassword : string.Empty;
            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(httpStatusCode).And.ErrorCode((int)resultCode), "Still able to access entry api.");
        }
        public void ReadHrbcCoreTmpCompanyInfoAccessEndpointTest(AccessState accessState, HttpStatusCode httpStatusCode, ResultCode resultCode)
        {
            var creds                 = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var companyId             = creds.Companies.First().Value.Id;
            var readSessionHandler    = new HrbcCoreManager();
            var accessEndpointHandler = new AccessEndpointManager();
            var request               = new Dictionary <string, string>()
            {
                ["fullMode"] = "true",
            };

            creds.Dispose();

            var response = accessEndpointHandler.AccessEndpoint <HrbcCoreSessionResponse>(accessState, $"{HrbcCoreManager.GetTmpCompanyInfoEndpoint}/{companyId}", request, System.Net.Http.HttpMethod.Get);

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(httpStatusCode), "Still able to access entry api.");
        }
Example #8
0
        private bool TryGetValue(SharepointAccessManager.Key key, out AccessState value)
        {
            bool result;

            lock (this.lockObj)
            {
                if (!this.cache.TryGetValue(key, out value))
                {
                    this.cache.AddAbsolute(key, AccessState.Pending, DateTime.UtcNow + this.requestTimeout + TimeSpan.FromSeconds(5.0), null);
                    result = false;
                }
                else
                {
                    result = true;
                }
            }
            return(result);
        }
Example #9
0
        public static async Task <bool> AlertAccess(this IUserDialogs dialogs, AccessState access)
        {
            switch (access)
            {
            case AccessState.Available:
                return(true);

            case AccessState.Restricted:
                await dialogs.AlertAsync("WARNING: Access is restricted");

                return(true);

            default:
                await dialogs.AlertAsync("Invalid Access State: " + access);

                return(false);
            }
        }
        private static void ReceiveAuthorization(string[] prefixes)
        {
            ProcessStartInfo psi = new ProcessStartInfo
            {
                FileName        = "https://login.eveonline.com/oauth/authorize?response_type=code&redirect_uri=http://localhost/oauth-callback&client_id=e4c1b3cd8488434cb8fec58469bec263&scope=publicData esi-calendar.respond_calendar_events.v1 esi-calendar.read_calendar_events.v1 esi-location.read_location.v1 esi-location.read_ship_type.v1 esi-mail.organize_mail.v1 esi-mail.read_mail.v1 esi-mail.send_mail.v1 esi-skills.read_skills.v1 esi-skills.read_skillqueue.v1 esi-wallet.read_character_wallet.v1 esi-wallet.read_corporation_wallet.v1 esi-search.search_structures.v1 esi-clones.read_clones.v1 esi-characters.read_contacts.v1 esi-universe.read_structures.v1 esi-bookmarks.read_character_bookmarks.v1 esi-killmails.read_killmails.v1 esi-corporations.read_corporation_membership.v1 esi-assets.read_assets.v1 esi-planets.manage_planets.v1 esi-fleets.read_fleet.v1 esi-fleets.write_fleet.v1 esi-ui.open_window.v1 esi-ui.write_waypoint.v1 esi-characters.write_contacts.v1 esi-fittings.read_fittings.v1 esi-fittings.write_fittings.v1 esi-markets.structure_markets.v1 esi-corporations.read_structures.v1 esi-characters.read_loyalty.v1 esi-characters.read_opportunities.v1 esi-characters.read_chat_channels.v1 esi-characters.read_medals.v1 esi-characters.read_standings.v1 esi-characters.read_agents_research.v1 esi-industry.read_character_jobs.v1 esi-markets.read_character_orders.v1 esi-characters.read_blueprints.v1 esi-characters.read_corporation_roles.v1 esi-location.read_online.v1 esi-contracts.read_character_contracts.v1 esi-clones.read_implants.v1 esi-characters.read_fatigue.v1 esi-killmails.read_corporation_killmails.v1 esi-corporations.track_members.v1 esi-wallet.read_corporation_wallets.v1 esi-characters.read_notifications.v1 esi-corporations.read_divisions.v1 esi-corporations.read_contacts.v1 esi-assets.read_corporation_assets.v1 esi-corporations.read_titles.v1 esi-corporations.read_blueprints.v1 esi-bookmarks.read_corporation_bookmarks.v1 esi-contracts.read_corporation_contracts.v1 esi-corporations.read_standings.v1 esi-corporations.read_starbases.v1 esi-industry.read_corporation_jobs.v1 esi-markets.read_corporation_orders.v1 esi-corporations.read_container_logs.v1 esi-industry.read_character_mining.v1 esi-industry.read_corporation_mining.v1 esi-planets.read_customs_offices.v1 esi-corporations.read_facilities.v1 esi-corporations.read_medals.v1 esi-characters.read_titles.v1 esi-alliances.read_contacts.v1 esi-characters.read_fw_stats.v1 esi-corporations.read_fw_stats.v1 esi-characterstats.read.v1",
                UseShellExecute = true
            };

            Process.Start(psi);

            if (prefixes == null || prefixes.Length == 0)
            {
                throw new ArgumentException("Prefixes needed");
            }

            HttpListener listener = new HttpListener();

            foreach (string s in prefixes)
            {
                listener.Prefixes.Add(s);
            }

            listener.Start();
            Console.WriteLine("Listening for callback...");

            HttpListenerContext  context  = listener.GetContext();
            HttpListenerRequest  request  = context.Request;
            HttpListenerResponse response = context.Response;

            string responseString = "<html lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\"><head>    <meta charset=\"utf-8\" />    <title>Authentication Successful</title>    <style>        p, body { color: #FFFFFF; font-family: ProximaNova-Regular, Arial }		h2 { text-align: center; margin-bottom: 10px; text-shadow: 1px 1px 2px #7F7F7F; font-size: 30px; font-family: \"ProximaNova-SemiBold\",Arial }        body { background: #000000 url(https://login.eveonline.com/Images/site-bg.jpg) no-repeat center center fixed }        #content { background-color: rgba(0, 0, 0, 0.7); padding: 30px; width: 400px; margin: auto }    </style></head><body><div id=\"content\"><h2>AUTHENTICATION SUCCESSFUL</h2><p>This browser window can now be closed.</p><script type=\"text/javascript\" language=\"JavaScript\"><!--window.close();// --></script></div></body></html>";

            byte[] buffer = Encoding.UTF8.GetBytes(responseString);

            response.ContentLength64 = buffer.Length;
            Stream output = response.OutputStream;

            output.Write(buffer, 0, buffer.Length);
            authCode = request.QueryString["code"];

            output.Close();
            listener.Stop();

            m_eAccessState = AccessState.GET_ACCESS;
        }
Example #11
0
        public void TestMergeAccessEndpoint(ResourceId resourceId, AccessState accessState, HttpStatusCode httpStatusCode, ResultCode resultCode)
        {
            AccessEndpointManager accessEndpointHandler = new AccessEndpointManager();
            var baseId         = RecordsMergeCreator.Data[$"{resourceId}{0}"].Id;
            var mergeId        = RecordsMergeCreator.Data[$"{resourceId}{1}"].Id;
            var clientId       = RecordsMergeCreator.Data[$"{ResourceId.Client}{0}"].Id;
            var requestContent = new Dictionary <string, object>()
            {
                ["baseId"]   = baseId,
                ["mergedId"] = new List <ulong>()
                {
                    mergeId
                },
                ["mapping"] = Common.GetMapping(resourceId, baseId, clientId),
            };
            var response = accessEndpointHandler.AccessEndpoint <MergeResponse>(accessState, $"/privateapi/{resourceId.ToString().ToLower()}/merge", requestContent, HttpMethod.Post);

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(httpStatusCode).And.ErrorCode((int)resultCode), "Still able to access merge api.");
        }
Example #12
0
    void ShowMiracleAccess()
    {
        AccessState accessState = GameCenter.miracleMng.miracleStatus;

        if (GameCenter.sceneMng.EnterSucceed && accessState != AccessState.ACHIEVE && accessState != AccessState.NONE)
        {
            if (MiracleEnter != null)
            {
                MiracleEnter.OpenUI();
            }
        }
        if (accessState == AccessState.ACHIEVE && accessState != AccessState.NONE && MiracleEnter.gameObject.activeSelf)
        {
            if (MiracleEnter != null)
            {
                MiracleEnter.CloseUI();
            }
        }
    }
Example #13
0
        public void ResetPassAccessEndpointTests(AccessState accessState, HttpStatusCode httpStatusCode, ResultCode resultCode)
        {
            var accessEndpointHandler = new AccessEndpointManager();
            var token          = Common.GetToken();
            var defaultUser    = CommonData.GetDefaultUser();
            var requestContent = new Dictionary <string, object>()
            {
                ["companyLoginId"] = defaultUser.Company.Name,
                ["username"]       = defaultUser.Login,
                ["newPassword"]    = "******",
                ["token"]          = token.Result.Token
            };
            var oldPassword = Common.GetOldPassword();
            var passwordMng = new ResetPasswordManager();
            var response    = accessEndpointHandler.AccessEndpoint <ResetPasswordResponse>(accessState, Endpoint, requestContent, HttpMethod.Post);

            Common.RecoverOldPassword(requestContent, passwordMng, oldPassword);
            defaultUser.Dispose();
            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(httpStatusCode).And.ErrorCode((int)resultCode));
        }
        public void ReadHrbcCoreSessionAccessEndpointTest(AccessState accessState, HttpStatusCode httpStatusCode, ResultCode resultCode)
        {
            var creds                 = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var adminUserId           = creds.Companies.First().Value.Users.First().Metadata["userId"].ToString();
            var companyId             = creds.Companies.First().Value.Id;
            var readSessionHandler    = new HrbcCoreManager();
            var accessEndpointHandler = new AccessEndpointManager();
            var request               = new Dictionary <string, string>()
            {
                ["companyId"] = companyId,
                ["userId"]    = adminUserId,
                ["sessionId"] = readSessionHandler.GetDefaultSessionId(),
            };

            creds.Dispose();

            var response = accessEndpointHandler.AccessEndpoint <HrbcCoreSessionResponse>(accessState, HrbcCoreManager.GetSessionEndpoint, request, System.Net.Http.HttpMethod.Get);

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(httpStatusCode), "Still able to access entry api.");
        }
 public void CentralizedReset()
 {
     State = AccessState.Released;
 }
Example #16
0
 public PushAccessState(AccessState status, string?registrationToken)
 {
     this.Status            = status;
     this.RegistrationToken = registrationToken;
 }
Example #17
0
 void UnRegist()
 {
     MsgHander.UnRegist(0xD950, S2C_ReplyMiracleData);
     miracleStatus = AccessState.NONE;
 }
Example #18
0
 private void SetNotes(AccessState state, string name, string learnerNumber, string note, string specialNeeds, string alert)
 {
     if (state == AccessState.Granted)
     {
         statusLabel.ForeColor = Color.Black;
         statusLabel.Text = @"Access Granted";
     }
     else
     {
         statusLabel.ForeColor = Color.Red;
         statusLabel.Text = @"Access Denied";
     }
     nameLabel.Text = name;
     learnerNumberLabel.Text = learnerNumber;
     noteLabel.Text = note;
     specialNeedsLabel.Text = specialNeeds;
     alertLabel.Text = alert;
     alertLabel2.Text = alert;
     panel1.Visible = !string.IsNullOrEmpty(alert);
 }
Example #19
0
 public static NotificationResult Fail(AccessState access) => new NotificationResult(0, access);
 public AccessManager()
 {
     accessCodeIsValid = false;
     m_eAccessState    = AccessState.READ_ACCESS_FROM_DISK;
 }
Example #21
0
 NotificationResult(int notificationId, AccessState accessStatus)
 {
     this.NotificationId = notificationId;
     this.AccessStatus   = accessStatus;
 }
Example #22
0
 private void OnInternalQueryComplete(ICancelableAsyncResult asyncResult)
 {
     if (asyncResult == null)
     {
         throw new InvalidOperationException("OnInternalQueryComplete: asyncResult cannot be null.");
     }
     try
     {
         Exception      ex             = null;
         DownloadResult downloadResult = this.httpClient.EndDownload(asyncResult);
         if (!downloadResult.IsSucceeded)
         {
             ex = downloadResult.Exception;
         }
         if (downloadResult.ResponseStream == null && ex == null)
         {
             ex = new SharePointException((this.httpClient.LastKnownRequestedUri != null) ? this.httpClient.LastKnownRequestedUri.AbsoluteUri : string.Empty, new LocalizedString("Response is empty. The user probably doesn't have permission"));
         }
         if (ex != null)
         {
             this.executionAsyncResult.InvokeCallback(ex);
         }
         else
         {
             downloadResult.ResponseStream.Position = 0L;
             long num = 0L;
             try
             {
                 using (XmlTextReader xmlTextReader = new XmlTextReader(downloadResult.ResponseStream))
                 {
                     xmlTextReader.ReadToFollowing("d:High");
                     long num2 = xmlTextReader.ReadElementContentAsLong();
                     long num3 = xmlTextReader.ReadElementContentAsLong();
                     num = (num2 << 32) + num3;
                 }
             }
             catch (XmlException value)
             {
                 this.executionAsyncResult.InvokeCallback(value);
                 return;
             }
             catch (DirectoryNotFoundException value2)
             {
                 this.executionAsyncResult.InvokeCallback(value2);
                 return;
             }
             catch (WebException value3)
             {
                 this.executionAsyncResult.InvokeCallback(value3);
                 return;
             }
             AccessState accessState = ((num & 47L) == 47L) ? AccessState.Allowed : AccessState.Denied;
             ExTraceGlobals.SiteMailboxPermissionCheckTracer.TraceDebug <long>((long)this.SessionHashCode, "PermissionCheckerClient.OnInternalQueryComplete: Permission bits retured by Sharepoint is {0}", num);
             this.executionAsyncResult.InvokeCallback(accessState);
         }
     }
     finally
     {
         this.Cleanup();
     }
 }
Example #23
0
        private void SetValue(int sessionHashCode, SharepointAccessManager.Key key, SecurityIdentifier userSid, Guid mailboxGuid, AccessState value)
        {
            DateTime dateTime;

            lock (this.lockObj)
            {
                this.cache.Remove(key);
                dateTime = ((value == AccessState.Allowed) ? (DateTime.UtcNow + this.cacheExpiryForAllowedIdentity) : (DateTime.UtcNow + this.cacheExpiryForDeniedIdentity));
                this.cache.AddAbsolute(key, value, dateTime, null);
            }
            ExTraceGlobals.SiteMailboxPermissionCheckTracer.TraceDebug((long)sessionHashCode, "SharepointAccessManager.SetValue: Add to cache {0} for user {1}, site mailbox {2}. Expiry is {3}", new object[]
            {
                value,
                userSid,
                mailboxGuid,
                dateTime
            });
        }
Example #24
0
        public void TestCustomActionAccessEndpoint(string url, HttpMethod httpMethod, AccessState accessState, HttpStatusCode httpStatusCode, ResultCode resultCode)
        {
            AccessEndpointManager accessEndpointHandler = new AccessEndpointManager();
            var response = accessEndpointHandler.AccessEndpoint <object>(accessState, $"/privateapi/{url}", httpMethod.ToNetHttpMethod());

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(httpStatusCode).And.ErrorCode((int)resultCode), "Still able to access custom action api.");
        }
 public void OnBleAdapterStateChanged(AccessState state)
 {
     throw new NotImplementedException();
 }
Example #26
0
 public Task OnAdapterStateChanged(AccessState state)
 {
     return(Task.CompletedTask);
 }
Example #27
0
        private bool UpdateAccessTokenIfNeeded(Uri sharepointUrl, ExchangePrincipal siteMailbox, ICredentials accessingUserCredential, ClientSecurityContext accessingUserSecurityContext, int sessionHashCode, out Exception exception, bool isTest = false)
        {
            exception = null;
            if (siteMailbox == null)
            {
                throw new ArgumentNullException("siteMailbox");
            }
            if (accessingUserSecurityContext == null)
            {
                throw new ArgumentNullException("accessingUserSecurityContext");
            }
            if (sharepointUrl == null)
            {
                ExTraceGlobals.SiteMailboxPermissionCheckTracer.TraceDebug <string>((long)sessionHashCode, "SharepointAccessManager.UpdateAccessTokenIfNeeded: Skip site mailbox {0} because its Sharepoint URL is null", siteMailbox.MailboxInfo.PrimarySmtpAddress.ToString());
                return(false);
            }
            ExTraceGlobals.SiteMailboxPermissionCheckTracer.TraceDebug <ClientSecurityContext, string, string>((long)sessionHashCode, "SharepointAccessManager.UpdateAccessTokenIfNeeded: Entered with user {0}, site mailbox {1}, URL {2}", accessingUserSecurityContext, siteMailbox.MailboxInfo.PrimarySmtpAddress.ToString(), sharepointUrl.AbsoluteUri);
            LoggingContext loggingContext = new LoggingContext(siteMailbox.MailboxInfo.MailboxGuid, sharepointUrl.AbsoluteUri, accessingUserSecurityContext.ToString(), null);
            AccessState    accessState    = AccessState.Denied;
            bool           flag           = false;

            SharepointAccessManager.Key key = this.GetKey(accessingUserSecurityContext.UserSid, siteMailbox.MailboxInfo.MailboxGuid);
            if (!SharepointAccessManager.Instance.TryGetValue(key, out accessState))
            {
                flag = true;
                ExTraceGlobals.SiteMailboxPermissionCheckTracer.TraceDebug((long)sessionHashCode, "SharepointAccessManager.UpdateAccessTokenIfNeeded: Cache miss, query Sharepoint");
                SharepointAccessManager.PermissionCheckerClient permissionCheckerClient = new SharepointAccessManager.PermissionCheckerClient(sessionHashCode, siteMailbox.MailboxInfo.MailboxGuid, sharepointUrl.AbsoluteUri, accessingUserSecurityContext.UserSid, key, accessingUserCredential, this.requestTimeout, this.requestThroughLocalProxy, isTest);
                LazyAsyncResult lazyAsyncResult = (LazyAsyncResult)permissionCheckerClient.BeginExecute(new AsyncCallback(SharepointAccessManager.OnCheckComplete), permissionCheckerClient);
                int             num             = (int)this.synchronousWaitTimeout.TotalSeconds * 2;
                int             num2            = 0;
                while (!lazyAsyncResult.IsCompleted || lazyAsyncResult.Result == null)
                {
                    Thread.Sleep(500);
                    num2++;
                    if (num2 > num)
                    {
                        break;
                    }
                }
                object result = lazyAsyncResult.Result;
                if (!(result is AccessState))
                {
                    exception = ((lazyAsyncResult.Result is Exception) ? (lazyAsyncResult.Result as Exception) : new TimeoutException("Timed out"));
                    WebException ex = exception as WebException;
                    if (ex != null)
                    {
                        SharePointException exception2 = new SharePointException(sharepointUrl.AbsoluteUri, ex, false);
                        ExTraceGlobals.SiteMailboxPermissionCheckTracer.TraceError <WebExceptionStatus, string, Exception>((long)permissionCheckerClient.SessionHashCode, "SharepointAccessManager.UpdateAccessTokenIfNeeded: Query failed with WebException. Status: {0}, Message: {1}, InnerException: {2}", ex.Status, ex.Message, ex.InnerException);
                        ProtocolLog.LogError(ProtocolLog.Component.SharepointAccessManager, loggingContext, "Query failed with SharePointException", exception2);
                    }
                    else
                    {
                        ExTraceGlobals.SiteMailboxPermissionCheckTracer.TraceError <Type, string, Exception>((long)permissionCheckerClient.SessionHashCode, "SharepointAccessManager.UpdateAccessTokenIfNeeded: Query failed with {0}, Message: {1}, InnerException: {2}", exception.GetType(), exception.Message, exception.InnerException);
                        ProtocolLog.LogError(ProtocolLog.Component.SharepointAccessManager, loggingContext, string.Format("Query failed with {0}", exception.GetType()), exception);
                    }
                    return(false);
                }
                accessState = (AccessState)result;
            }
            else if (accessState == AccessState.Pending)
            {
                ExTraceGlobals.SiteMailboxPermissionCheckTracer.TraceDebug((long)sessionHashCode, "SharepointAccessManager.UpdateAccessTokenIfNeeded: Skip because there is an pending request");
                return(true);
            }
            if (accessState == AccessState.Allowed)
            {
                if (!accessingUserSecurityContext.AddGroupSids(new SidBinaryAndAttributes[]
                {
                    new SidBinaryAndAttributes(WellKnownSids.SiteMailboxGrantedAccessMembers, 4U)
                }))
                {
                    ExTraceGlobals.SiteMailboxPermissionCheckTracer.TraceError((long)sessionHashCode, "SharepointAccessManager.UpdateAccessTokenIfNeeded: Failed to add SiteMailboxGrantedAccessMembers group sid to access token");
                    return(false);
                }
                ExTraceGlobals.SiteMailboxPermissionCheckTracer.TraceDebug <ClientSecurityContext, string, string>((long)sessionHashCode, "SharepointAccessManager.UpdateAccessTokenIfNeeded: Access is allowed for user {0}, site mailbox {1}, URL {2}", accessingUserSecurityContext, siteMailbox.MailboxInfo.PrimarySmtpAddress.ToString(), sharepointUrl.AbsoluteUri);
                if (flag)
                {
                    ProtocolLog.LogInformation(ProtocolLog.Component.SharepointAccessManager, loggingContext, string.Format("Allow access for site mailbox {0}, URL {1}", siteMailbox.MailboxInfo.PrimarySmtpAddress.ToString(), sharepointUrl));
                }
            }
            else if (flag)
            {
                ProtocolLog.LogInformation(ProtocolLog.Component.SharepointAccessManager, loggingContext, string.Format("Deny access for site mailbox {0}, URL {1}", siteMailbox.MailboxInfo.PrimarySmtpAddress.ToString(), sharepointUrl));
            }
            return(true);
        }
Example #28
0
 public PermissionException(string module, AccessState badStatus) : base($"{module} had status of {badStatus}")
 {
 }
Example #29
0
 public virtual Task OnAdapterStateChanged(AccessState state) => Task.CompletedTask;
 /// <summary>
 /// Reset variables to start again
 /// </summary>
 public void RicartReset()
 {
     _clock = new ExtendedLamportClock(LocalId);
     State = AccessState.Released;
     _isInterested = false;
     _acceptList = new List<string>();
     _queue = new List<DataRequest>();
 }