示例#1
0
        public async Task <string> SetAuthorization(string user, string password, string isRemeber)
        {
            List <GetUserAccessPermission_Result> permissionMenu = null;
            string returnUrl = ViewBag.ReturnUrl == null ? "/SecurityModule/Account/Dashboard" : ViewBag.ReturnUrl;

            if (string.IsNullOrEmpty(user) || string.IsNullOrEmpty(password))
            {
                return("");
            }

            bool result = await Task.Run(() => _userService.IsValidUser(StringEncription.RemoveSpecialCharacters(user.Trim()), StringEncription.Encrypt(password.Trim(), true), Convert.ToString(GetIPAddress.LocalIPAddress()), out permissionMenu));

            if (result)
            {
                var ident = new ClaimsIdentity(
                    new[]
                {
                    // adding following 2 claim just for supporting default antiforgery provider
                    //new Claim(ClaimTypes.NameIdentifier, permissionMenu[0].UserName),
                    // optionally you could add roles if any
                    new Claim(ClaimTypes.Role, permissionMenu[0].RoleTitle)
                    //new Claim("RoleID",permissionMenu[0].RoleID)
                    //new Claim("OwnerLevelID",permissionMenu[0].OwnerLevelID),
                    //new Claim("OwnerID",permissionMenu[0].OwnerLevelID),
                    //new Claim("OwnerName",permissionMenu[0].OwnerName),
                    //new Claim("DefaultServer",permissionMenu[0].DefaultServer),
                    //new Claim("UserID",permissionMenu[0].UserID)
                }, DefaultAuthenticationTypes.ApplicationCookie);
                Session["UserID"]       = (from temp in permissionMenu where temp.UserID != "" select temp.UserID).FirstOrDefault(); // permissionMenu[0].UserID.ToString().Trim();
                Session["User"]         = (from temp in permissionMenu where temp.UserName != "" select temp.UserName).FirstOrDefault();
                Session["OwnerLevelID"] = (from temp in permissionMenu where temp.OwnerLevelID != "" select temp.OwnerLevelID).FirstOrDefault();
                Session["OwnerID"]      = (from temp in permissionMenu where temp.OwnerID != "" select temp.OwnerID).FirstOrDefault();
                //Session["DefaultServer"] = (from temp in permissionMenu where temp.DefaultServer != "" select temp.DefaultServer).FirstOrDefault();
                Session["SEC_Menu"] = (from temp in permissionMenu[0].AccessMenu select new SEC_Menu {
                    MenuID = temp.MenuID,
                    MenuTitle = temp.MenuTitle,
                    ParentMenuID = temp.ParentMenuID,
                    ParentMenu = temp.ParentMenu,
                    MenuUrl = temp.MenuUrl,
                    MenuIcon = temp.MenuIcon,
                    MenuOrder = temp.MenuOrder,
                    PermissionClass = temp.PermissionClass
                }).ToList();
                HttpContext.GetOwinContext().Authentication.SignIn(
                    new AuthenticationProperties {
                    IsPersistent = false
                }, ident);
            }
            else
            {
                return("E401");
            }
            return(returnUrl);
        }
示例#2
0
        public async Task <dynamic> GetUser(string userId, string ownerID)
        {
            List <SEC_User> obUser = null;
            await Task.Run(() => _userService.GetAllUser(userId, ownerID, out obUser));

            var result = obUser.Select(x => new
            {
                UserID              = x.UserID,
                UserPassword        = StringEncription.Decrypt(x.UserPassword, true),
                OwnerLevelID        = x.OwnerLevelID,
                LevelName           = x.LevelName,
                OwnerID             = x.OwnerID,
                OwnerName           = x.OwnerName,
                RoleTitle           = x.RoleTitle,
                RoleID              = x.RoleID,
                EmployeeID          = x.EmployeeID,
                UserFullName        = x.UserFullName,
                UserDesignation     = x.UserDesignation,
                JobLocation         = x.JobLocation,
                UserNo              = x.UserNo,
                UserName            = x.UserName,
                PermissionLevel     = x.PermissionLevel,
                AccessOwnerLevel    = x.AccessOwnerLevel,
                AccessDataLevel     = x.AccessDataLevel,
                DocClassification   = x.DocClassification,
                SecurityStatus      = x.SecurityStatus,
                DateLimit           = string.Format(x.DateLimit, "dd/MM/yyyy"),
                DefaultServer       = x.DefaultServer,
                IntMailAddress      = x.IntMailAddress,
                IntmailStatus       = x.IntmailStatus,
                ExtMailAddress      = x.ExtMailAddress,
                ExtMailStatus       = x.ExtMailStatus,
                UserPicture         = x.UserPicture,
                UserLevelID         = x.UserLevelID,
                Remarks             = x.Remarks,
                ClassificationLevel = x.ClassificationLevel,
                SetOn                   = x.SetOn,
                SupervisorLevel         = x.SupervisorLevel,
                MessageStatus           = x.MessageStatus,
                ContactNo               = x.ContactNo,
                SupervisorLevelName     = x.SupervisorLevelName,
                AccessDataLevelName     = x.AccessDataLevelName,
                UserLevelName           = x.UserLevelName,
                ClassificationLevelName = x.ClassificationLevelName,
                DocClassificationName   = x.DocClassificationName,

                Status = x.Status
            });

            return(Json(new { Msg = "", result }, JsonRequestBehavior.AllowGet));
        }
示例#3
0
        public async Task <dynamic> ChangePassword(string password, string oldPassword)
        {
            SEC_User objUser = new SEC_User();

            action               = "changePassword";
            objUser.SetBy        = UserID;
            objUser.UserID       = UserID;
            objUser.ModifiedBy   = UserID;
            objUser.UserName     = StringEncription.Encrypt(oldPassword.Trim(), true);
            objUser.UserPassword = StringEncription.Encrypt(password.Trim(), true);
            respStatus           = await Task.Run(() => _userService.AddUser(objUser, action, out outStatus));

            return(Json(new { Message = respStatus.Message, respStatus }, JsonRequestBehavior.AllowGet));
        }
示例#4
0
        public async Task <dynamic> UpdateUser(SEC_User objUser)
        {
            if (ModelState.IsValid)
            {
                action               = "edit";
                objUser.SetBy        = UserID;
                objUser.ModifiedBy   = objUser.SetBy;
                objUser.UserPassword = StringEncription.Encrypt(objUser.UserPassword, true);
                respStatus           = await Task.Run(() => _userService.AddUser(objUser, action, out outStatus));

                // Error handling.
                return(Json(new { Message = respStatus.Message, respStatus }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                respStatus = new ValidationResult("E404", _localizationService.GetResource("E404"));
            }
            return(Json(new { Message = respStatus.Message, respStatus }, JsonRequestBehavior.AllowGet));
        }
示例#5
0
 public static string Encrypt(string TextToBeEncrypted)
 {
     return(StringEncription.Encrypt(TextToBeEncrypted, Key));
 }