コード例 #1
0
        public ResponseModel Logout()
        {
            ResponseModel resp = new ResponseModel();

            string token = Convert.ToString(Request.Headers["X-Authorized-Token"]);

            token = SecurityService.DecryptStringAES(token);

            RedisCacheService radisCacheService = new RedisCacheService(_radisCacheServerAddress);

            if (!radisCacheService.Exists(token))
            {
                radisCacheService.Remove(token);
            }

            securityCaller newSecurityCaller = new securityCaller();

            newSecurityCaller.Logout(new SecurityService(_connectioSting), token);

            resp.Status       = true;
            resp.StatusCode   = (int)EnumMaster.StatusCode.Success;
            resp.ResponseData = null;
            resp.Message      = "Logout Successfully!";

            return(resp);
        }
コード例 #2
0
        public ResponseModel UpdatePassword(string cipherEmailId, string Password)
        {
            ResponseModel objResponseModel = new ResponseModel();

            try
            {
                securityCaller newSecurityCaller = new securityCaller();

                CommonService commonService    = new CommonService();
                string        encryptedEmailId = commonService.Decrypt(cipherEmailId);

                bool isUpdate = newSecurityCaller.UpdatePassword(new SecurityService(Cache, Db), encryptedEmailId, Password);

                if (isUpdate)
                {
                    objResponseModel.Status       = true;
                    objResponseModel.StatusCode   = (int)EnumMaster.StatusCode.Success;
                    objResponseModel.Message      = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)(int) EnumMaster.StatusCode.Success);
                    objResponseModel.ResponseData = "Update password successfully";
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(objResponseModel);
        }
コード例 #3
0
        public ResponseModel ForgetPassword(string EmailId)
        {
            ResponseModel objResponseModel = new ResponseModel();

            try
            {
                /////Validate User
                securityCaller securityCaller = new securityCaller();
                Authenticate   authenticate   = securityCaller.validateUserEmailId(new SecurityService(Cache, Db), EmailId);
                if (authenticate.UserMasterID > 0)
                {
                    MasterCaller masterCaller = new MasterCaller();
                    SMTPDetails  sMTPDetails  = masterCaller.GetSMTPDetails(new MasterServices(Cache, Db), authenticate.TenantId);

                    CommonService commonService    = new CommonService();
                    string        encryptedEmailId = commonService.Encrypt(EmailId);
                    string        url = Configuration.GetValue <string>("websiteURL") + "/userforgotPassword?Id:" + encryptedEmailId;
                    // string body = "Hello, This is Demo Mail for testing purpose. <br/>" + url;

                    string content = "";
                    string subject = "";

                    securityCaller.GetForgetPassowrdMailContent(new SecurityService(Cache, Db), authenticate.TenantId, url, EmailId, out content, out subject);

                    bool isUpdate = securityCaller.sendMail(new SecurityService(Cache, Db), sMTPDetails, EmailId, subject, content, authenticate.TenantId);

                    if (isUpdate)
                    {
                        objResponseModel.Status       = true;
                        objResponseModel.StatusCode   = (int)EnumMaster.StatusCode.Success;
                        objResponseModel.Message      = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)(int) EnumMaster.StatusCode.Success);
                        objResponseModel.ResponseData = "Mail sent successfully";
                    }
                    else
                    {
                        objResponseModel.Status       = false;
                        objResponseModel.StatusCode   = (int)EnumMaster.StatusCode.InternalServerError;
                        objResponseModel.Message      = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)(int) EnumMaster.StatusCode.InternalServerError);
                        objResponseModel.ResponseData = "Mail sent failure";
                    }
                }
                else
                {
                    objResponseModel.Status       = false;
                    objResponseModel.StatusCode   = (int)EnumMaster.StatusCode.RecordNotFound;
                    objResponseModel.Message      = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)(int) EnumMaster.StatusCode.RecordNotFound);
                    objResponseModel.ResponseData = "Sorry User does not exist or active";
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(objResponseModel);
        }
コード例 #4
0
        public ResponseModel authenticateUser()
        {
            string X_Authorized_Programcode = Convert.ToString(Request.Headers["X-Authorized-Programcode"]);
            string X_Authorized_userId      = Convert.ToString(Request.Headers["X-Authorized-userId"]);
            string X_Authorized_password    = Convert.ToString(Request.Headers["X-Authorized-password"]);
            string X_Authorized_Domainname  = Convert.ToString(Request.Headers["X-Authorized-Domainname"]);

            ResponseModel resp = new ResponseModel();

            try
            {
                securityCaller newSecurityCaller = new securityCaller();
                AccountModal   account           = new AccountModal();
                string         programCode       = X_Authorized_Programcode.Replace(' ', '+');
                string         domainName        = X_Authorized_Domainname.Replace(' ', '+');
                string         userId            = X_Authorized_userId.Replace(' ', '+');
                string         password          = X_Authorized_password.Replace(' ', '+');

                if (!string.IsNullOrEmpty(programCode) && !string.IsNullOrEmpty(domainName) && !string.IsNullOrEmpty(userId) && !string.IsNullOrEmpty(password))
                {
                    account = newSecurityCaller.validateUser(new SecurityService(Cache, Db), programCode, domainName, userId, password);

                    if (!string.IsNullOrEmpty(account.Token))
                    {
                        account.IsActive  = true;
                        resp.Status       = true;
                        resp.StatusCode   = (int)EnumMaster.StatusCode.Success;
                        resp.ResponseData = account;
                        resp.Message      = "Valid Login";
                    }
                    else
                    {
                        account.IsActive  = false;
                        resp.Status       = true;
                        resp.StatusCode   = (int)EnumMaster.StatusCode.Success;
                        resp.ResponseData = account;
                        resp.Message      = "In-Valid Login";
                    }
                }
                else
                {
                    resp.Status       = false;
                    resp.ResponseData = account;
                    resp.Message      = "Invalid Login";
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(resp);
        }
コード例 #5
0
        public ResponseModel Validateprogramcode()
        {
            string X_Authorized_Programcode = Convert.ToString(Request.Headers["X-Authorized-Programcode"]);
            string X_Authorized_Domainname  = Convert.ToString(Request.Headers["X-Authorized-Domainname"]);

            ResponseModel resp = new ResponseModel();

            try
            {
                securityCaller newSecurityCaller = new securityCaller();
                string         Programcode       = X_Authorized_Programcode.Replace(' ', '+');
                string         Domainname        = X_Authorized_Domainname.Replace(' ', '+');

                if (!string.IsNullOrEmpty(Programcode) && !string.IsNullOrEmpty(Domainname))
                {
                    bool isValid = newSecurityCaller.validateProgramCode(new SecurityService(_ErconnectioSting, _radisCacheServerAddress), Programcode, Domainname);

                    if (isValid)
                    {
                        resp.Status       = true;
                        resp.StatusCode   = (int)EnumMaster.StatusCode.Success;
                        resp.ResponseData = "";
                        resp.Message      = "Valid Program code";
                    }
                    else
                    {
                        resp.Status       = true;
                        resp.StatusCode   = (int)EnumMaster.StatusCode.RecordNotFound;
                        resp.ResponseData = "";
                        resp.Message      = "In-Valid Program code";
                    }
                }
                else
                {
                    resp.Status       = false;
                    resp.ResponseData = "";
                    resp.Message      = "In-valid Program code";
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(resp);
        }
コード例 #6
0
        public ResponseModel ChangePassword([FromBody] CustomChangePassword customChangePassword, int IsStoreUser = 1)
        {
            ResponseModel objResponseModel = new ResponseModel();
            int           statusCode       = 0;
            string        statusMessage    = "";

            try
            {
                string       token        = Convert.ToString(Request.Headers["X-Authorized-Token"]);
                Authenticate authenticate = new Authenticate();
                authenticate = SecurityService.GetAuthenticateDataFromTokenCache(Cache, SecurityService.DecryptStringAES(token));
                securityCaller securityCaller = new securityCaller();
                CommonService  commonService  = new CommonService();
                if (customChangePassword.ChangePasswordType.Equals("mail"))
                {
                    customChangePassword.EmailID = SecurityService.DecryptStringAES(customChangePassword.EmailID);
                }
                customChangePassword.Password = SecurityService.Encrypt(customChangePassword.Password);
                bool Result = securityCaller.ChangePassword(new SecurityService(Cache, Db), customChangePassword, authenticate.TenantId, authenticate.UserMasterID);

                statusCode =
                    Result == false ?
                    (int)EnumMaster.StatusCode.RecordNotFound : (int)EnumMaster.StatusCode.Success;
                statusMessage = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)statusCode);

                objResponseModel.Status       = true;
                objResponseModel.StatusCode   = statusCode;
                objResponseModel.Message      = statusMessage;
                objResponseModel.ResponseData = Result;
            }
            catch (Exception)
            {
                throw;
            }

            return(objResponseModel);
        }
コード例 #7
0
        public ResponseModel SendMailforchangepassword(int userID, int IsStoreUser = 1)
        {
            CustomChangePassword customChangePassword = new CustomChangePassword();
            ResponseModel        objResponseModel     = new ResponseModel();
            int    statusCode    = 0;
            string statusMessage = "";

            try
            {
                string       token        = Convert.ToString(Request.Headers["X-Authorized-Token"]);
                Authenticate authenticate = new Authenticate();
                authenticate = SecurityService.GetAuthenticateDataFromTokenCache(Cache, SecurityService.DecryptStringAES(token));

                UserCaller userCaller = new UserCaller();

                customChangePassword = userCaller.SendMailforchangepassword(new UserServices(Cache, Db), userID, authenticate.TenantId, IsStoreUser);
                if (customChangePassword.UserID > 0 && customChangePassword.Password != null && customChangePassword.EmailID != null)
                {
                    MasterCaller   masterCaller     = new MasterCaller();
                    SMTPDetails    sMTPDetails      = masterCaller.GetSMTPDetails(new MasterServices(Cache, Db), authenticate.TenantId);
                    securityCaller securityCaller   = new securityCaller();
                    CommonService  commonService    = new CommonService();
                    string         encryptedEmailId = SecurityService.Encrypt(customChangePassword.EmailID);

                    string decriptedPassword = SecurityService.DecryptStringAES(customChangePassword.Password);
                    string url      = Configuration.GetValue <string>("websiteURL") + "/ChangePassword";
                    string body     = "Dear User, <br/>Please find the below details.  <br/><br/>" + "Your Email ID  : " + customChangePassword.EmailID + "<br/>" + "Your Password : "******"<br/><br/>" + "Click on Below link to change the Password <br/>" + url + "?Id:" + encryptedEmailId;
                    bool   isUpdate = securityCaller.sendMailForChangePassword(new SecurityService(Cache, Db), sMTPDetails, customChangePassword.EmailID, body, authenticate.TenantId);
                    if (isUpdate)
                    {
                        objResponseModel.Status       = true;
                        objResponseModel.StatusCode   = (int)EnumMaster.StatusCode.Success;
                        objResponseModel.Message      = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)(int) EnumMaster.StatusCode.Success);
                        objResponseModel.ResponseData = "Mail sent successfully";
                    }
                    else
                    {
                        objResponseModel.Status       = false;
                        objResponseModel.StatusCode   = (int)EnumMaster.StatusCode.InternalServerError;
                        objResponseModel.Message      = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)(int) EnumMaster.StatusCode.InternalServerError);
                        objResponseModel.ResponseData = "Mail sent failure";
                    }
                }

                else
                {
                    objResponseModel.Status       = false;
                    objResponseModel.StatusCode   = (int)EnumMaster.StatusCode.RecordNotFound;
                    objResponseModel.Message      = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)(int) EnumMaster.StatusCode.RecordNotFound);
                    objResponseModel.ResponseData = "Sorry User does not exist or active";
                }

                /* StatusCode =
                 * isUpdate !=true ?
                 *     (int)EnumMaster.StatusCode.RecordNotFound : (int)EnumMaster.StatusCode.Success;
                 * statusMessage = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)StatusCode);
                 *
                 * objResponseModel.Status = true;
                 * objResponseModel.StatusCode = StatusCode;
                 * objResponseModel.Message = statusMessage;
                 * objResponseModel.ResponseData = "Email Sent";*/
            }
            catch (Exception)
            {
                throw;
            }

            return(objResponseModel);
        }
コード例 #8
0
        public ResponseModel ForgetPassword(string EmailId)
        {
            ResponseModel objResponseModel = new ResponseModel();

            try
            {
                /////Validate User
                string X_Authorized_Programcode = Convert.ToString(Request.Headers["X-Authorized-Programcode"]);
                string X_Authorized_Domainname  = Convert.ToString(Request.Headers["X-Authorized-Domainname"]);
                string _data = "";
                if (X_Authorized_Programcode != null)
                {
                    X_Authorized_Programcode = SecurityService.DecryptStringAES(X_Authorized_Programcode);

                    RedisCacheService cacheService = new RedisCacheService(_radisCacheServerAddress);
                    if (cacheService.Exists("Con" + X_Authorized_Programcode))
                    {
                        _data = cacheService.Get("Con" + X_Authorized_Programcode);
                        _data = JsonConvert.DeserializeObject <string>(_data);
                    }
                }

                if (X_Authorized_Domainname != null)
                {
                    X_Authorized_Domainname = SecurityService.DecryptStringAES(X_Authorized_Domainname);
                }
                securityCaller securityCaller = new securityCaller();
                Authenticate   authenticate   = securityCaller.validateUserEmailId(new SecurityService(_data, _radisCacheServerAddress), EmailId);
                if (authenticate.UserMasterID > 0)
                {
                    MasterCaller masterCaller = new MasterCaller();
                    SMTPDetails  sMTPDetails  = masterCaller.GetSMTPDetails(new MasterServices(_data), authenticate.TenantId);

                    CommonService commonService    = new CommonService();
                    string        encryptedEmailId = commonService.Encrypt(EmailId);
                    string        url = X_Authorized_Domainname.TrimEnd('/') + "/storeUserforgotPassword?Id:" + encryptedEmailId;
                    // string body = "Hello, This is Demo Mail for testing purpose. <br/>" + url;

                    string content = "";
                    string subject = "";

                    securityCaller.GetForgetPassowrdMailContent(new SecurityService(_connectioSting), authenticate.TenantId, url, EmailId, out content, out subject);

                    bool isUpdate = securityCaller.sendMail(new SecurityService(_connectioSting), sMTPDetails, EmailId, subject, content, authenticate.TenantId);

                    if (isUpdate)
                    {
                        objResponseModel.Status       = true;
                        objResponseModel.StatusCode   = (int)EnumMaster.StatusCode.Success;
                        objResponseModel.Message      = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)(int) EnumMaster.StatusCode.Success);
                        objResponseModel.ResponseData = "Mail sent successfully";
                    }
                    else
                    {
                        objResponseModel.Status       = false;
                        objResponseModel.StatusCode   = (int)EnumMaster.StatusCode.InternalServerError;
                        objResponseModel.Message      = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)(int) EnumMaster.StatusCode.InternalServerError);
                        objResponseModel.ResponseData = "Mail sent failure";
                    }
                }
                else
                {
                    objResponseModel.Status       = false;
                    objResponseModel.StatusCode   = (int)EnumMaster.StatusCode.RecordNotFound;
                    objResponseModel.Message      = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)(int) EnumMaster.StatusCode.RecordNotFound);
                    objResponseModel.ResponseData = "Sorry User does not exist or active";
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(objResponseModel);
        }
コード例 #9
0
        public ResponseModel AuthenticateUser()
        {
            string X_Authorized_Programcode = Convert.ToString(Request.Headers["X-Authorized-Programcode"]);
            string X_Authorized_userId      = Convert.ToString(Request.Headers["X-Authorized-userId"]);
            string X_Authorized_password    = Convert.ToString(Request.Headers["X-Authorized-password"]);
            string X_Authorized_Domainname  = Convert.ToString(Request.Headers["X-Authorized-Domainname"]);

            ResponseModel resp = new ResponseModel();

            try
            {
                securityCaller newSecurityCaller = new securityCaller();
                AccountModal   account           = new AccountModal();
                string         Programcode       = X_Authorized_Programcode.Replace(' ', '+');
                string         Domainname        = X_Authorized_Domainname.Replace(' ', '+');
                string         userId            = X_Authorized_userId.Replace(' ', '+');
                string         password          = X_Authorized_password.Replace(' ', '+');


                string _data = "";
                if (X_Authorized_Programcode != null)
                {
                    X_Authorized_Programcode = SecurityService.DecryptStringAES(X_Authorized_Programcode);

                    RedisCacheService cacheService = new RedisCacheService(_radisCacheServerAddress);
                    if (cacheService.Exists("Con" + X_Authorized_Programcode))
                    {
                        _data = cacheService.Get("Con" + X_Authorized_Programcode);
                        _data = JsonConvert.DeserializeObject <string>(_data);
                    }
                }

                if (!string.IsNullOrEmpty(Programcode) && !string.IsNullOrEmpty(Domainname) && !string.IsNullOrEmpty(userId) && !string.IsNullOrEmpty(password))
                {
                    account = newSecurityCaller.validateUser(new SecurityService(_data, _radisCacheServerAddress), Programcode, Domainname, userId, password);

                    if (!string.IsNullOrEmpty(account.Token))
                    {
                        account.IsActive  = true;
                        resp.Status       = true;
                        resp.StatusCode   = (int)EnumMaster.StatusCode.Success;
                        resp.ResponseData = account;
                        resp.Message      = "Valid Login";
                    }
                    else
                    {
                        account.IsActive  = false;
                        resp.Status       = true;
                        resp.StatusCode   = (int)EnumMaster.StatusCode.Success;
                        resp.ResponseData = account;
                        resp.Message      = "In-Valid Login";
                    }
                }
                else
                {
                    resp.Status       = false;
                    resp.ResponseData = account;
                    resp.Message      = "Invalid Login";
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(resp);
        }
コード例 #10
0
        public ResponseModel SendMailforchangepassword(int userID, int IsStoreUser = 1)
        {
            CustomChangePassword customChangePassword = new CustomChangePassword();
            ResponseModel        objResponseModel     = new ResponseModel();

            try
            {
                string       token        = Convert.ToString(Request.Headers["X-Authorized-Token"]);
                Authenticate authenticate = new Authenticate();
                authenticate = SecurityService.GetAuthenticateDataFromToken(_radisCacheServerAddress, SecurityService.DecryptStringAES(token));
                string            _data        = "";
                string            ProgramCode  = authenticate.ProgramCode;
                RedisCacheService cacheService = new RedisCacheService(_radisCacheServerAddress);
                if (cacheService.Exists("Con" + ProgramCode))
                {
                    _data = cacheService.Get("Con" + ProgramCode);
                    _data = JsonConvert.DeserializeObject <string>(_data);
                }
                string X_Authorized_Domainname = Convert.ToString(Request.Headers["X-Authorized-Domainname"]);
                if (X_Authorized_Domainname != null)
                {
                    X_Authorized_Domainname = SecurityService.DecryptStringAES(X_Authorized_Domainname);
                }
                UserCaller userCaller = new UserCaller();

                customChangePassword = userCaller.SendMailforchangepassword(new UserServices(_data), userID, authenticate.TenantId, IsStoreUser);
                if (customChangePassword.UserID > 0 && customChangePassword.Password != null && customChangePassword.EmailID != null)
                {
                    MasterCaller   masterCaller     = new MasterCaller();
                    SMTPDetails    sMTPDetails      = masterCaller.GetSMTPDetails(new MasterServices(_data), authenticate.TenantId);
                    securityCaller _securityCaller  = new securityCaller();
                    CommonService  commonService    = new CommonService();
                    string         encryptedEmailId = SecurityService.Encrypt(customChangePassword.EmailID);

                    string decriptedPassword = SecurityService.DecryptStringAES(customChangePassword.Password);
                    string url      = configuration.GetValue <string>("websiteURL") + "/ChangePassword";
                    string body     = "Dear User, <br/>Please find the below details.  <br/><br/>" + "Your Email ID  : " + customChangePassword.EmailID + "<br/>" + "Your Password : "******"<br/><br/>" + "Click on Below link to change the Password <br/>" + url + "?Id:" + encryptedEmailId;
                    bool   isUpdate = _securityCaller.sendMailForChangePassword(new SecurityService(_connectioSting), sMTPDetails, customChangePassword.EmailID, body, authenticate.TenantId);
                    if (isUpdate)
                    {
                        objResponseModel.Status       = true;
                        objResponseModel.StatusCode   = (int)EnumMaster.StatusCode.Success;
                        objResponseModel.Message      = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)(int) EnumMaster.StatusCode.Success);
                        objResponseModel.ResponseData = "Mail sent successfully";
                    }
                    else
                    {
                        objResponseModel.Status       = false;
                        objResponseModel.StatusCode   = (int)EnumMaster.StatusCode.InternalServerError;
                        objResponseModel.Message      = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)(int) EnumMaster.StatusCode.InternalServerError);
                        objResponseModel.ResponseData = "Mail sent failure";
                    }
                }

                else
                {
                    objResponseModel.Status       = false;
                    objResponseModel.StatusCode   = (int)EnumMaster.StatusCode.RecordNotFound;
                    objResponseModel.Message      = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)(int) EnumMaster.StatusCode.RecordNotFound);
                    objResponseModel.ResponseData = "Sorry User does not exist or active";
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(objResponseModel);
        }