Exemple #1
0
        protected override T Return <T>(MethodBase mi, string description, Func <T> function)
        {
            try
            {
                string longDescription = mi.Name + description == null ? null : (" " + description);

                using (CultureFromOperationContext())
                    using (TimeTracker.Start(longDescription))
                        using (HeavyProfiler.Log("WCF", () => longDescription))
                            using (ScopeSessionFactory.OverrideSession(session))
                            {
                                return(function());
                            }
            }
            catch (Exception e)
            {
                e.LogException(el =>
                {
                    el.ControllerName = GetType().Name;
                    el.ActionName     = mi.Name;
                    el.QueryString    = description;
                    el.Version        = Schema.Current.Version.ToString();
                });

                throw;
            }
            finally
            {
                Statics.CleanThreadContextAndAssert();
            }
        }
Exemple #2
0
        public static IDisposable UserSession(IUserEntity user)
        {
            var result = ScopeSessionFactory.OverrideSession();

            UserHolder.Current = user;
            return(result);
        }
Exemple #3
0
        protected virtual T Return <T>(MethodBase mi, string description, Func <T> function)
        {
            try
            {
                using (CultureFromOperationContext())
                    using (ScopeSessionFactory.OverrideSession(session))
                        using (ExecutionMode.Global())
                        {
                            return(function());
                        }
            }
            catch (Exception e)
            {
                e.LogException(el =>
                {
                    el.ControllerName = GetType().Name;
                    el.ActionName     = mi.Name;
                    el.QueryString    = description;
                });

                throw;
            }
            finally
            {
                Statics.CleanThreadContextAndAssert();
            }
        }
Exemple #4
0
        protected override T Return <T>(MethodBase mi, string description, Func <T> function)
        {
            try
            {
                using (ScopeSessionFactory.OverrideSession(session))
                {
                    return(function());
                }
            }
            catch (Exception e)
            {
                e.LogException(el =>
                {
                    el.ControllerName = GetType().Name;
                    el.ActionName     = mi.Name;
                    el.QueryString    = description;
                    el.Version        = Schema.Current.Version.ToString();
                });

                throw;
            }
            finally
            {
                Statics.CleanThreadContextAndAssert();
            }
        }
Exemple #5
0
        public LoginResponse?LoginWithAzureAD([FromBody, Required] string jwt)
        {
            using (ScopeSessionFactory.OverrideSession())
            {
                if (!AzureADAuthenticationServer.LoginAzureADAuthentication(ControllerContext, jwt))
                {
                    return(null);
                }

                var token = AuthTokenServer.CreateToken(UserEntity.Current);

                return(new LoginResponse {
                    message = null, userEntity = UserEntity.Current, token = token
                });
            }
        }
Exemple #6
0
        public LoginResponse?LoginWindowsAuthentication()
        {
            using (ScopeSessionFactory.OverrideSession())
            {
                if (!WindowsAuthenticationServer.LoginWindowsAuthentication(ControllerContext))
                {
                    return(null);
                }

                var token = AuthTokenServer.CreateToken(UserEntity.Current);

                return(new LoginResponse {
                    message = null, userEntity = UserEntity.Current, token = token
                });
            }
        }
Exemple #7
0
        public LoginResponse LoginFromCookie()
        {
            using (ScopeSessionFactory.OverrideSession())
            {
                if (!UserTicketServer.LoginFromCookie())
                {
                    return(null);
                }

                string message = AuthLogic.OnLoginMessage();

                var token = AuthTokenServer.CreateToken(UserEntity.Current);

                return(new LoginResponse {
                    message = message, userEntity = UserEntity.Current, token = token
                });
            }
        }
Exemple #8
0
        public LoginResponse?LoginFromCookie()
        {
            using (ScopeSessionFactory.OverrideSession())
            {
                if (!UserTicketServer.LoginFromCookie(ControllerContext))
                {
                    return(null);
                }

                string?message = AuthLogic.OnLoginMessage();

                var token = AuthTokenServer.CreateToken(UserEntity.Current);

                return(new LoginResponse {
                    message = message, userEntity = UserEntity.Current, token = token, authenticationType = "cookie"
                });
            }
        }
Exemple #9
0
        public LoginResponse?LoginWindowsAuthentication(bool throwError)
        {
            using (ScopeSessionFactory.OverrideSession())
            {
                string?error = WindowsAuthenticationServer.LoginWindowsAuthentication(ControllerContext);
                if (error != null)
                {
                    if (throwError)
                    {
                        throw new InvalidOperationException(error);
                    }

                    return(null);
                }

                var token = AuthTokenServer.CreateToken(UserEntity.Current);

                return(new LoginResponse {
                    message = null, userEntity = UserEntity.Current, token = token, authenticationType = "windows"
                });
            }
        }