示例#1
0
        /// <summary>
        /// Authenticates the admin user.
        /// </summary>
        /// <param name="accessCredential">The access credential.</param>
        /// <returns>AdminSession.</returns>
        public AdminAuthenticationResult AuthenticateAdminUser(AccessCredential accessCredential)
        {
            try
            {
                accessCredential.CheckNullObject("accessCredential");
                AdminUserInfo userInfo = null;

                using (var controller = new AdminUserInfoAccessController())
                {
                    userInfo = controller.AuthenticateAdminUser(accessCredential);
                }

                if (userInfo != null)
                {
                    using (var controller = new AdminSessionAccessController(adminExpiration))
                    {
                        var session = controller.CreateAdminSession(new AdminSession
                        {
                            IpAddress = ContextHelper.IpAddress,
                            UserAgent = ContextHelper.UserAgent,
                            OwnerKey = userInfo.Key
                        });

                        return new AdminAuthenticationResult
                        {
                            TokenExpiredStamp = session.ExpiredStamp,
                            Token = session.Token,
                            UserInfo = userInfo
                        };
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex.Handle( accessCredential);
            }

            return null;
        }
示例#2
0
        /// <summary>
        /// Authenticates the third party identifier.
        /// </summary>
        /// <param name="thirdPartyId">The third party identifier.</param>
        /// <returns>AdminAuthenticationResult.</returns>
        public AdminAuthenticationResult AuthenticateThirdPartyId(string thirdPartyId)
        {
            try
            {
                thirdPartyId.CheckEmptyString("thirdPartyId");
                AdminUserInfo userInfo = null;

                using (var controller = new AdminUserInfoAccessController())
                {
                    userInfo = controller.QueryAdminUserInfo(new AdminUserCriteria { ThirdPartyId = thirdPartyId }).FirstOrDefault();
                }

                if (userInfo != null)
                {
                    using (var controller = new AdminSessionAccessController(adminExpiration))
                    {
                        var session = controller.CreateAdminSession(new AdminSession
                        {
                            IpAddress = ContextHelper.IpAddress,
                            UserAgent = ContextHelper.UserAgent,
                            OwnerKey = userInfo.Key
                        });

                        return new AdminAuthenticationResult
                        {
                            TokenExpiredStamp = session.ExpiredStamp,
                            Token = session.Token,
                            UserInfo = userInfo
                        };
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex.Handle( thirdPartyId);
            }

            return null;
        }
示例#3
0
        /// <summary>
        /// Unbinds the role on user.
        /// </summary>
        /// <param name="binding">The binding.</param>
        public void UnbindRoleOnUser(AdminRoleBinding binding)
        {
            try
            {
                binding.CheckNullObject("binding");

                using (var controller = new AdminUserInfoAccessController())
                {
                    controller.UnbindRoleOnUser(binding, ContextHelper.GetCurrentOperatorKey());
                }
            }
            catch (Exception ex)
            {
                throw ex.Handle( binding);
            }
        }
示例#4
0
        /// <summary>
        /// Requests the admin password reset.
        /// </summary>
        /// <param name="loginName">Name of the login.</param>
        /// <param name="expiration">The expiration.</param>
        /// <returns>System.String.</returns>
        public string RequestAdminPasswordReset(string loginName, int expiration)
        {
            try
            {
                loginName.CheckEmptyString("loginName");

                using (var controller = new AdminUserInfoAccessController())
                {
                    return controller.RequestAdminPasswordReset(loginName, expiration);
                }
            }
            catch (Exception ex)
            {
                throw ex.Handle( new { loginName, expiration });
            }
        }
示例#5
0
        /// <summary>
        /// Queries the admin user.
        /// </summary>
        /// <param name="criteria">The criteria.</param>
        /// <returns>List&lt;AdminUserInfo&gt;.</returns>
        public List<AdminUserInfo> QueryAdminUser(AdminUserCriteria criteria)
        {
            try
            {
                criteria.CheckNullObject("criteria");

                using (var controller = new AdminUserInfoAccessController())
                {
                    return controller.QueryAdminUserInfo(criteria);
                }
            }
            catch (Exception ex)
            {
                throw ex.Handle( criteria);
            }
        }
示例#6
0
        /// <summary>
        /// Gets the admin user information by token.
        /// </summary>
        /// <param name="token">The token.</param>
        /// <returns>AdminUserInfo.</returns>
        public AdminUserInfo GetAdminUserInfoByToken(string token)
        {
            try
            {
                token.CheckEmptyString("token");

                using (var controller = new AdminUserInfoAccessController())
                {
                    return controller.GetAdminUserInfoByToken(token);
                }
            }
            catch (Exception ex)
            {
                throw ex.Handle( token);
            }
        }
示例#7
0
        /// <summary>
        /// Creates the or update admin user.
        /// </summary>
        /// <param name="userInfo">The user information.</param>
        /// <returns>System.Nullable&lt;Guid&gt;.</returns>
        public Guid? CreateOrUpdateAdminUser(AdminUserInfo userInfo)
        {
            try
            {
                userInfo.CheckNullObject("userInfo");

                using (var controller = new AdminUserInfoAccessController())
                {
                    return controller.CreateOrUpdateAdminUserInfo(userInfo, ContextHelper.GetCurrentOperatorKey());
                }
            }
            catch (Exception ex)
            {
                throw ex.Handle( userInfo);
            }
        }