public JsonResult UpdatePassword()
        {
            var crypto = new TokenCryptography();

            try
            {
                var userId          = Request["userId"];
                var serializer      = new JavaScriptSerializer();
                var headers         = new Dictionary <string, object>();
                var newPassword     = HttpContext.Request["newpassword"];
                var confirmPassword = HttpContext.Request["confirmpassword"];

                var ipAddress         = Request.UserHostAddress;
                var encryptedPassword = crypto.Encrypt(newPassword, ipAddress);
                headers.Add("newpassword", Convert.ToBase64String(Encoding.UTF8.GetBytes(encryptedPassword)));
                var responseObj =
                    serializer.Deserialize <ApiResponse>(_apiHandler.ApiProcessor("/api/accounts/changepassword",
                                                                                  headers,
                                                                                  new Dictionary <string, object>
                {
                    { "userId", userId }
                }));
            }
            catch (Exception)
            {
                var result = new { status = false, key = "error", value = "Password updation has been failed." };
                return(Json(new { Data = result }));
            }

            var finalResult = new { status = true, key = "success", value = "Password has been updated successfully." };

            return(Json(new { Data = finalResult }));
        }
Example #2
0
        public static void UpdateSystemSettings(SystemSettings updatedSystemSettings)
        {
            var tokenCryptography = new TokenCryptography();
            var systemManagement  = new SystemManagement();
            var serializer        = new SystemSettingsSerializer();

            var systemSettings = serializer.Deserialize(GlobalAppSettings.GetConfigFilepath());

            systemManagement.UpdateSystemSetting(updatedSystemSettings.MailSettingsHost,
                                                 SystemSettingKeys.MailSettingsHost.ToString());
            systemManagement.UpdateSystemSetting(updatedSystemSettings.MailSettingsPort.ToString(),
                                                 SystemSettingKeys.MailSettingsPort.ToString());
            systemManagement.UpdateSystemSetting(updatedSystemSettings.MailSettingsSenderName,
                                                 SystemSettingKeys.MailSettingsSenderName.ToString());
            if (!String.IsNullOrEmpty(updatedSystemSettings.MailSettingsPassword))
            {
                systemManagement.UpdateSystemSetting(
                    tokenCryptography.DoEncryption(updatedSystemSettings.MailSettingsPassword),
                    SystemSettingKeys.MailSettingsPassword.ToString());
            }
            systemManagement.UpdateSystemSetting(updatedSystemSettings.MailSettingsIsSecureAuthentication.ToString(),
                                                 SystemSettingKeys.MailSettingsIsSecureAuthentication.ToString());
            systemManagement.UpdateSystemSetting(updatedSystemSettings.MailSettingsAddress,
                                                 SystemSettingKeys.MailSettingsAddress.ToString());
            systemManagement.UpdateSystemSetting(updatedSystemSettings.OrganizationName,
                                                 SystemSettingKeys.OrganizationName.ToString());
            systemManagement.UpdateSystemSetting(updatedSystemSettings.LoginLogo,
                                                 SystemSettingKeys.LoginLogo.ToString());
            systemManagement.UpdateSystemSetting(updatedSystemSettings.MainScreenLogo,
                                                 SystemSettingKeys.MainScreenLogo.ToString());
            systemManagement.UpdateSystemSetting(updatedSystemSettings.FavIcon,
                                                 SystemSettingKeys.FavIcon.ToString());
            systemManagement.UpdateSystemSetting(updatedSystemSettings.WelcomeNoteText,
                                                 SystemSettingKeys.WelcomeNoteText.ToString());
            systemManagement.UpdateSystemSetting(updatedSystemSettings.DateFormat,
                                                 SystemSettingKeys.DateFormat.ToString());
            systemManagement.UpdateSystemSetting(updatedSystemSettings.BaseUrl,
                                                 SystemSettingKeys.BaseUrl.ToString());
            systemManagement.UpdateSystemSetting(updatedSystemSettings.TimeZone,
                                                 SystemSettingKeys.TimeZone.ToString());
        }
Example #3
0
        static void Main(string[] args)
        {
            TokenCryptography tc = new TokenCryptography();

            Console.WriteLine(tc.DecodeHS256("eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGFpbTEiOjAsImNsYWltMiI6ImNsYWltMi12YWx1ZSJ9.8pwBI_HtXqI3UgQHQ_rDRnSQRxFL1SR8fbQoS-5kM5s", "GQDstcKsx0NHjPOuXOYg5MbeJ1XT0uFiwDVvVBrk"));
        }
Example #4
0
        static void Main(string[] args)
        {
            var rootPath         = string.Empty;
            var processSuccess   = true;
            var errorLogFileName = string.Empty;
            var errorLogFolder   = string.Empty;

            if (args.Length != 0)
            {
                string syncfusionServerType;
                if (args[0].ToLower() == "reportserver")
                {
                    syncfusionServerType = "Report Server";
                    errorLogFileName     = "ReportServer_Errorlog_" + GetAssemblyVersion() + "_" + DateTime.Now.ToString("MMddyyyyHHmmssfff") + ".txt";
                }
                else
                {
                    syncfusionServerType = "Dashboard Server";
                    errorLogFileName     = "DashboardServer_Errorlog_" + GetAssemblyVersion() + "_" + DateTime.Now.ToString("MMddyyyyHHmmssfff") + ".txt";
                }
                errorLogFolder    = Path.Combine(Path.GetTempPath(), "Syncfusion " + syncfusionServerType);
                errorTextFilePath = Path.Combine(errorLogFolder, errorLogFileName);
                rootPath          = Path.GetFullPath(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) +
                                                     "\\Syncfusion\\" + syncfusionServerType);
                SystemSettings data          = null;
                var            xmlSerializer = new XmlSerializer(typeof(SystemSettings));
                if (File.Exists(rootPath + "\\Configuration\\Config.xml"))
                {
                    using (var reader = new StreamReader(rootPath + "\\Configuration\\Config.xml"))
                    {
                        data = (SystemSettings)xmlSerializer.Deserialize(reader);
                        reader.Close();
                    }
                }
                if (data != null)
                {
                    switch (data.SqlConfiguration.ServerType)
                    {
                    case DataBaseType.MSSQL:
                        var tokenCryptography = new TokenCryptography();
                        var connectionString  = tokenCryptography.Decrypt(data.SqlConfiguration.ConnectionString);
                        var builder           = new SqlConnectionStringBuilder(connectionString);
                        var isDatabaseExist   = CheckDatabaseExists(connectionString, builder.InitialCatalog);
                        if (isDatabaseExist)
                        {
                            var dbDropDatabaseScript = "use master; ALTER DATABASE [" + builder.InitialCatalog + "] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; drop database [" + builder.InitialCatalog + "];";
                            var deleteAction         = DeleteSQLDatabase(dbDropDatabaseScript, connectionString);
                            if (!deleteAction.Success)
                            {
                                processSuccess = false;
                                if (!Directory.Exists(errorLogFolder))
                                {
                                    Directory.CreateDirectory(errorLogFolder);
                                }
                                TextWriter tw = File.CreateText(errorTextFilePath);
                                tw.WriteLine("Syncfusion " + syncfusionServerType + " - Uninstaller Error log.");
                                tw.WriteLine("Error in dropping the database. Please find the below exception thrown from the SQL Server.");
                                tw.WriteLine(deleteAction.Value.ToString());
                                tw.Close();
                            }
                        }
                        break;
                    }
                    var deleteDirectory = DeleteDirectory(rootPath);
                    if (!deleteDirectory.Success)
                    {
                        processSuccess = false;
                        var errorFileExist = File.Exists(errorTextFilePath);
                        if (!errorFileExist)
                        {
                            if (!Directory.Exists(errorLogFolder))
                            {
                                Directory.CreateDirectory(errorLogFolder);
                            }
                            TextWriter tw = File.CreateText(errorTextFilePath);
                            tw.WriteLine("Syncfusion " + syncfusionServerType + " - Uninstaller Error log.");
                            tw.WriteLine("Error in deleting directories.");
                            tw.WriteLine(deleteDirectory.Value.ToString());
                            tw.Close();
                        }
                        else
                        {
                            TextWriter tw = new StreamWriter(errorTextFilePath);
                            tw.WriteLine("Error in deleting directories.");
                            tw.WriteLine(deleteDirectory.Value.ToString());
                            tw.Close();
                        }
                    }
                    var statusMessage = (processSuccess) ? "success" : "failure;" + errorLogFileName;
                    Console.WriteLine(statusMessage);
                }
            }
        }
Example #5
0
        public ActionResult Login(string username, string password, string remember, string returnUrl)
        {
            var tokenCryptography = new TokenCryptography();

            if (username != null && password != null)
            {
                var ipAddress         = Request.UserHostAddress;
                var encryptedUsername = tokenCryptography.Encrypt(username, ipAddress);
                var encryptedPassword = tokenCryptography.Encrypt(password, ipAddress);
                LogExtension.LogInfo("Login Encryption done", MethodBase.GetCurrentMethod(), " UserName - " + username + " Password - " + password + " Remember - " + remember + " ReturnUrl - " + returnUrl);

                var headers = new Dictionary <string, object>
                {
                    {
                        "Authorization",
                        Convert.ToBase64String(Encoding.UTF8.GetBytes(encryptedUsername + ":" + encryptedPassword))
                    }
                };
                LogExtension.LogInfo("Login API requested", MethodBase.GetCurrentMethod());
                var apiResponse = _javaScriptSerializer.Deserialize <ApiResponse>(_apiHandler.ApiProcessor("/api/accounts/login", headers,
                                                                                                           new Dictionary <string, object>()));

                var apiData = DictionaryHelper.GetObject(apiResponse.Data as Dictionary <string, object>, typeof(ApiData)) as ApiData;

                LogExtension.LogInfo("Login API Data received", MethodBase.GetCurrentMethod(), " UserName - " + username + " Password - " + password + " Remember - " + remember + " ReturnUrl - " + returnUrl);
                LogExtension.LogInfo("Login result is " + apiData.StatusText, MethodBase.GetCurrentMethod(), " UserName - " + username + " Password - " + password + " Remember - " + remember + " ReturnUrl - " + returnUrl);

                var isValid = apiData.StatusText;

                switch (isValid.ToLower())
                {
                case "validuser":
                    var userDetail = _userManagement.FindUserByUserName(username);

                    FormsAuthentication.SetAuthCookie(userDetail.UserId.ToString(), remember != null && remember.ToLower().Trim() == "on");

                    GlobalAppSettings.SetTimeZone(userDetail.UserId);

                    HttpContext.Session["displayname"] = userDetail.DisplayName;
                    HttpContext.Session["firstname"]   = userDetail.FirstName;
                    HttpContext.Session["lastname"]    = userDetail.LastName;
                    HttpContext.Session["IsAdmin"]     = GlobalAppSettings.IsAdmin(userDetail.UserId);

                    _userManagement.UpdateLoginTime(userDetail.UserId, DateTime.UtcNow);

                    if (String.IsNullOrWhiteSpace(returnUrl))
                    {
                        return(RedirectToAction("reports", "reports"));
                    }

                    return(Redirect(returnUrl));

                case "invalidpassword":
                    TempData["currentValue"]        = username;
                    TempData["errorUserName"]       = "";
                    TempData["errorPassword"]       = apiData.Message;
                    TempData["errorUserStatus"]     = "";
                    TempData["errorPasswordStatus"] = "inline-block";
                    return(View());

                case "throttleduser":
                    TempData["errorUserName"] = "";
                    TempData["errorPassword"] = "";
                    TempData["User"]          = apiData.Message;
                    return(View());

                case "invalidusername":
                    TempData["currentValue"]        = username;
                    TempData["errorUserName"]       = apiData.Message;
                    TempData["errorPassword"]       = "";
                    TempData["errorUserStatus"]     = "inline-block";
                    TempData["errorPasswordStatus"] = "";
                    return(View());

                case "deactivateduser":
                    TempData["errorUserName"]   = "";
                    TempData["errorPassword"]   = "";
                    TempData["errorUserStatus"] = "inline-block";
                    TempData["User"]            = apiData.Message;
                    return(View());

                default:
                    TempData["errorUserName"]   = "";
                    TempData["errorPassword"]   = "";
                    TempData["errorUserStatus"] = "inline-block";
                    TempData["User"]            = apiData.Message;
                    return(View());
                }
            }
            return(View());
        }
Example #6
0
        /// <summary>
        /// Initialize the Settings for the Server.
        /// </summary>
        /// <param name="path">Path of the configuration file</param>
        public static void InitializeSystemSettings(string path)
        {
            var tokenCryptography = new TokenCryptography();

            try
            {
                SystemSettings = new SystemSettingsSerializer().Deserialize(path);
                if (SystemSettings != null)
                {
                    SystemSettings.SqlConfiguration.ConnectionString =
                        tokenCryptography.Decrypt(SystemSettings.SqlConfiguration.ConnectionString);
                    ConnectionString = SystemSettings.SqlConfiguration.ConnectionString;
                    DbSupport        = SystemSettings.SqlConfiguration.ServerType;
                    if (DbSupport == DataBaseType.MSSQLCE)
                    {
                        DataProvider = new SqlCeRelationalDataAdapter(ConnectionString);
                        QueryBuilder = new SqlCeQueryBuilder();
                    }
                    else
                    {
                        QueryBuilder = new SqlQueryBuilder();
                        DataProvider = new SqlRelationalDataAdapter(ConnectionString);
                    }
                    var globalSettings = new GlobalAppSettings().GetSystemSettings().DataTable.AsEnumerable()
                                         .Select(a => new
                    {
                        Key   = a.Field <string>(DbColumns.DB_SystemSettings.Key),
                        Value = a.Field <string>(DbColumns.DB_SystemSettings.Value)
                    }
                                                 ).ToDictionary(a => a.Key, a => a.Value);

                    SystemSettings.OrganizationName =
                        globalSettings[SystemSettingKeys.OrganizationName.ToString()];
                    SystemSettings.LoginLogo      = globalSettings[SystemSettingKeys.LoginLogo.ToString()];
                    SystemSettings.MainScreenLogo =
                        globalSettings[SystemSettingKeys.MainScreenLogo.ToString()];
                    SystemSettings.FavIcon         = globalSettings[SystemSettingKeys.FavIcon.ToString()];
                    SystemSettings.WelcomeNoteText =
                        globalSettings[SystemSettingKeys.WelcomeNoteText.ToString()];
                    SystemSettings.Language   = globalSettings[SystemSettingKeys.Language.ToString()];
                    SystemSettings.TimeZone   = globalSettings[SystemSettingKeys.TimeZone.ToString()];
                    SystemSettings.DateFormat = globalSettings[SystemSettingKeys.DateFormat.ToString()];
                    SystemSettings.BaseUrl    = globalSettings[SystemSettingKeys.BaseUrl.ToString()];
                    SystemSettings.ActivationExpirationDays =
                        Convert.ToInt32(globalSettings[SystemSettingKeys.ActivationExpirationDays.ToString()]);
                    SystemSettings.MailSettingsAddress =
                        globalSettings[SystemSettingKeys.MailSettingsAddress.ToString()];
                    SystemSettings.MailSettingsHost =
                        globalSettings[SystemSettingKeys.MailSettingsHost.ToString()];
                    SystemSettings.MailSettingsSenderName =
                        globalSettings[SystemSettingKeys.MailSettingsSenderName.ToString()];
                    SystemSettings.MailSettingsPassword =
                        tokenCryptography.Decrypt(
                            globalSettings[SystemSettingKeys.MailSettingsPassword.ToString()]);
                    SystemSettings.MailSettingsPort =
                        Convert.ToInt32(globalSettings[SystemSettingKeys.MailSettingsPort.ToString()]);
                    SystemSettings.MailSettingsIsSecureAuthentication =
                        Convert.ToBoolean(
                            globalSettings[SystemSettingKeys.MailSettingsIsSecureAuthentication.ToString()]);
                    Serializer = new JavaScriptSerializer();
                }
            }
            catch (Exception e)
            {
                LogExtension.LogError("Exception while deserializing system settings", e, MethodBase.GetCurrentMethod(),
                                      " Path - " + path + " ConnectionString - " + ConnectionString + " OrganizationName - " +
                                      SystemSettings.OrganizationName + " LoginLogo - " + SystemSettings.LoginLogo + " MainScreenLogo - " +
                                      SystemSettings.MainScreenLogo + " FavIcon - " + SystemSettings.FavIcon + " WelcomeNoteText - " +
                                      SystemSettings.WelcomeNoteText + " Language - " + SystemSettings.Language + " TimeZone - " +
                                      SystemSettings.TimeZone + " DateFormat - " + SystemSettings.DateFormat + " BaseUrl - " +
                                      SystemSettings.BaseUrl + " ActivationExpirationDays - " + SystemSettings.ActivationExpirationDays +
                                      " MailSettingsAddress - " + SystemSettings.MailSettingsAddress + " MailSettingsHost - " +
                                      SystemSettings.MailSettingsHost + " MailSettingsSenderName - " +
                                      SystemSettings.MailSettingsSenderName + " MailSettingsPassword - " +
                                      SystemSettings.MailSettingsPassword + " MailSettingsPort - " + SystemSettings.MailSettingsPort +
                                      " MailSettingsIsSecureAuthentication - " + SystemSettings.MailSettingsIsSecureAuthentication);
            }
        }