public async Task <IActionResult> Edit(int id, [Bind("Id,UserId,RoleId")] User_Role user_Role)
        {
            if (id != user_Role.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(user_Role);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!User_RoleExists(user_Role.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["RoleId"] = new SelectList(_context.Roles, "Id", "Id", user_Role.RoleId);
            ViewData["UserId"] = new SelectList(_context.Users, "Id", "Id", user_Role.UserId);
            return(View(user_Role));
        }
예제 #2
0
        public HttpMessage <User> Register(RegisterUser register)
        {
            return(TryCatchResponse(() =>
            {
                if (register == null || string.IsNullOrEmpty(register.Email))
                {
                    throw new Exception("Неверные параметры регистрации.");
                }

                List <User> users = GetUsers(register.Email);

                if (users != null && users.Count > 0)
                {
                    throw new Exception("Пользователь уже зарегистрирован.");
                }

                User user = InsertUser(new User()
                {
                    Email = register.Email
                });
                User_Role user_role = InsertUserRole(new User_Role()
                {
                    User = user.Id, Role = 2
                });
                User_Sec user_sec = SetPassword(user, user.Email, null, "Регистрация в Auto Parts Site");

                return CreateResponseOk(user);
            }));
        }
예제 #3
0
        public IHttpActionResult PutUser_Role(int id, User_Role user_Role)
        {
            db.Configuration.ProxyCreationEnabled = false;
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != user_Role.User_Role_ID)
            {
                return(BadRequest());
            }

            db.Entry(user_Role).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!User_RoleExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #4
0
        public async Task <IActionResult> Post(User_Role user_Role)
        {
            if (!ModelState.IsValid)
            {
                objHelper.Status  = StatusCodes.Status424FailedDependency;
                objHelper.Message = "Invalid Model State";
                return(BadRequest(objHelper));
            }

            try
            {
                //if (user_RoleRepository.IsDuplicate(user_Role))
                //{
                //    objHelper.Status = StatusCodes.Status200OK;
                //    objHelper.Message = "Data already available";
                //    return Ok(objHelper);
                //}

                await user_RoleRepository.Insert(user_Role);

                objHelper.Status  = StatusCodes.Status200OK;
                objHelper.Message = "Saved Successfully";
                objHelper.Data    = user_Role;
                return(Ok(objHelper));
            }
            catch
            {
                objHelper.Status  = StatusCodes.Status500InternalServerError;
                objHelper.Message = "Get Unsuccessful";
                return(StatusCode(StatusCodes.Status500InternalServerError, objHelper));
            }
        }
예제 #5
0
        public Account_c(string acc, string pwd)
        {
            Lib.DataUtility du = new Lib.DataUtility();
            DataTable       dt = du.getDataTableByText("select * from account_c where account = @acc", "acc", acc);

            if (dt.Rows.Count != 1)
            {
                isValid     = false;
                loginstatus = LoginStatus.Logout;
            }
            if (dt.Rows.Count == 1)
            {
                if (dt.Rows[0]["password"].ToString() == pwd)
                {
                    isValid     = true;
                    account     = acc;
                    password    = pwd;
                    role_code   = dt.Rows[0]["role_code"].ToString();
                    name        = dt.Rows[0]["name"].ToString();
                    id          = dt.Rows[0]["id"].ToString();
                    unit_code   = dt.Rows[0]["unit_code"].ToString();
                    rank_code   = dt.Rows[0]["rank_code"].ToString();
                    tel         = dt.Rows[0]["tel"].ToString();
                    cell        = dt.Rows[0]["cellphone"].ToString();
                    mail        = dt.Rows[0]["mail"].ToString();
                    ip          = dt.Rows[0]["ip"].ToString();
                    pwdChange   = dt.Rows[0]["pwdChange"].ToString();
                    status      = dt.Rows[0]["status"].ToString();
                    byAcc       = dt.Rows[0]["byAcc"].ToString();
                    loginstatus = LoginStatus.Login;
                    string roleCode = dt.Rows[0]["role_code"].ToString();
                    switch (roleCode)
                    {
                    case "1":
                        role = User_Role.Administrator;
                        break;

                    case "2":
                        role = User_Role.AccountManager;
                        break;

                    case "3":
                        role = User_Role.CenterSupervisor;
                        break;

                    case "4":
                        role = User_Role.CenterOfficer;
                        break;

                    default:
                        break;
                    }
                }
                else
                {
                    isValid     = false;
                    loginstatus = LoginStatus.Logout;
                }
            }
        }
예제 #6
0
        public HttpResponseMessage Register(string token, [FromBody] UserRegistration user)
        {
            try
            {
                if (!hasAuthorizedRole(con, token))
                {
                    return(Request.CreateResponse(HttpStatusCode.Forbidden));
                }

                var salt = MembershipProvider.CreateNewSalt();
                var hash = MembershipProvider.GenerateHash(user.PasswordClear, salt);

                var userId = con.OnboardUser(user.Username, hash, Convert.ToBase64String(salt), user.ClientID, user.LastName, user.FirstName, user.DOB, user.Email, user.UserTypeID, user.DivisionID);
                var role   = new User_Role
                {
                    Role_ID     = user.RoleID,
                    UserID      = userId,
                    DateCreated = DateTime.Now,
                    isActive    = true
                };

                con.User_Roles.InsertOnSubmit(role);
                con.SubmitChanges();

                return(Request.CreateResponse(HttpStatusCode.OK, userId));
            }
            catch (Exception e)
            {
                ExceptionLog.LogException(e);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError));
            }
        }
예제 #7
0
        public IHttpActionResult PostDep_Teacher(User user, Guid id)
        {
            //1.先添加该教师到用户表
            db.User.Add(user);
            //2.添加角色信息
            Guid      TeacherRoleID = db.Role.FirstOrDefault(u => u.RoleName == "教师").RoleID;
            User_Role UR            = new User_Role();

            UR.RoleID = TeacherRoleID;
            UR.UserID = user.UserID;
            db.User_Role.Add(UR);

            //将这个教师添加到软件学院
            Dep_Teacher dep_Teacher = new Dep_Teacher();

            dep_Teacher.Dep_ID       = id;
            dep_Teacher.Dep_Name     = db.Department.FirstOrDefault(u => u.DepID == id).DepName;
            dep_Teacher.Teacher_ID   = user.UserID;
            dep_Teacher.Teacher_Name = user.UserName;
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Dep_Teacher.Add(dep_Teacher);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = dep_Teacher.ID }, dep_Teacher));
        }
예제 #8
0
        public Role GetUserRole(Entities objectContext, User user)
        {
            Tools.CheckObjectContext(objectContext);

            if (user == null)
            {
                throw new ArgumentNullException("user");
            }

            if (user.isAdmin == true)
            {
                throw new InvalidOperationException("user is admin");
            }

            user.User_Roles.Load();

            User_Role userRole = user.User_Roles.FirstOrDefault(ur => ur.active == true);

            if (userRole == null)
            {
                throw new ArgumentNullException("user doesnt have role set.");
            }

            userRole.RoleReference.Load();

            Role role = userRole.Role;

            return(role);
        }
예제 #9
0
        public async Task <IActionResult> AddUserAndRoleAsync(UserAndRoleDto model)
        {
            try
            {
                //获取到用户信息
                IEnumerable <R_UserInfo> r_UserInfos = await dbContext.r_UserInfoRepository.GetAllInfoAsync();

                //根据名称查找到这一条数据
                R_UserInfo user = r_UserInfos.ToList().Where(s => s.UserName.Equals(model.User_Name)).FirstOrDefault();
                if (user == null)
                {
                    throw new Exception("没有找到这一条信息");
                }
                User_Role m = new User_Role()
                {
                    RoleID = model.RoleId, UserID = user.UserID
                };
                dbContext.user_RoleRepository.CreateInfo(m);
                if (await dbContext.user_RoleRepository.SaveAsync())
                {
                    return(Ok(1));
                }
                _logger.LogInformation($"{DateTime.Now.ToString("yyyyMMddHHmmssfff")}同时添加用户和角色信息");
                return(Ok("添加失败"));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
예제 #10
0
        public async Task <IActionResult> UpdateUserAndRoleAsync(User_Role user_Role)
        {
            try
            {
                //判断传过来的数据是否存在
                if (await dbContext.user_RoleRepository.IsExistAsync(user_Role.ConnectionID))
                {
                    //找到这条数据
                    User_Role user = await dbContext.user_RoleRepository.GetFirstInfo(user_Role.ConnectionID);

                    //修改数据
                    dbContext.user_RoleRepository.UpdateInfo(user);
                    if (await dbContext.user_RoleRepository.SaveAsync())
                    {
                        return(Ok(1));
                    }
                }
                _logger.LogInformation($"{DateTime.Now.ToString("yyyyMMddHHmmssfff")}修改用户和角色信息");
                //如果不存在返回错误信息
                return(NotFound());
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
예제 #11
0
        public bool AddUserRole(string userIds, string roleIds)
        {
            try
            {
                using (IDbContextBase context = DbContextFactory.GetDbContext())
                {
                    string[] arrUserId = userIds.Split(',');
                    string[] arrRoleId = roleIds.Split(',');

                    User_Role userRole = null;
                    for (int i = 0; i < arrUserId.Length; i++)
                    {
                        for (int j = 0; j < arrRoleId.Length; j++)
                        {
                            userRole        = new User_Role();
                            userRole.Id     = Guid.NewGuid();
                            userRole.RoleId = new Guid(arrRoleId[j]);
                            userRole.UserId = new Guid(arrUserId[i]);

                            context.Insert <User_Role>(userRole, false);
                        }
                    }

                    return(context.SaveChanges());
                }
            }
            catch
            {
                throw;
            }
        }
예제 #12
0
        /// <summary>
        /// 通过用户ID获取用户的角色信息
        /// </summary>
        /// <param name="id">用ID</param>
        /// <returns>角色string</returns>
        public IHttpActionResult GetUserRole(Guid id)
        {
            //获取用户对应的角色编号
            User_Role UR = db.User_Role.FirstOrDefault(u => u.UserID == id);

            //如果该用户没有角色
            if (UR == null)
            {
                return(NotFound());
            }
            else
            {
                //如果有角色,先获取角色ID
                Guid URI = UR.RoleID;
                //通过角色ID获取角色名称
                Role R = db.Role.FirstOrDefault(u => u.RoleID == URI);
                if (R == null)
                {
                    return(NotFound());
                }
                else
                {
                    return(Ok(R.RoleName));
                }
            }
        }
예제 #13
0
        /// <summary>
        /// Create a new User_Role object.
        /// </summary>
        /// <param name="id">Initial value of ID.</param>
        /// <param name="active">Initial value of active.</param>
        public static User_Role CreateUser_Role(long id, bool active)
        {
            User_Role user_Role = new User_Role();

            user_Role.ID     = id;
            user_Role.active = active;
            return(user_Role);
        }
예제 #14
0
        public ActionResult DeleteConfirmed(int id)
        {
            User_Role user_Role = db.User_Role.Find(id);

            db.User_Role.Remove(user_Role);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #15
0
        /// <summary>
        /// 创建UserRole信息
        /// </summary>
        public static int InsertUserRole(User_Role entity)
        {
            DataCommand cmd = new DataCommand("InsertUserRole");

            cmd.SetParameter <User_Role>(entity);
            int result = cmd.ExecuteScalar <int>();

            return(result);
        }
예제 #16
0
        public async Task <IActionResult> UserToRole(int userId, int roleId, string key)
        {
            if (key != "zhanghaodong138") //这就不写那些复杂的了,(配置文件,在加密解密,偷懒了)
            {
                return(Ok(new { code = 1, msg = "密钥不正确!" }));
            }
            var userrole = await _repositoryWrapper.User_RoleRepository.GetUser_RoleByUserIdAsync(userId);

            if (userrole == null)
            {
                User_Role user_Role = new User_Role();
                var       user      = await _repositoryWrapper.UserRepository.GetByIdAsync(userId);

                if (user == null)
                {
                    return(NotFound());
                }
                user_Role.UserId    = user.Id;
                user_Role.UserEmail = user.NickName;
                var role = await _context.Roles.FindAsync(roleId);

                if (role == null)
                {
                    return(NotFound());
                }
                user_Role.RoleId   = role.Id;
                user_Role.RoleName = role.Name;
                await _repositoryWrapper.User_RoleRepository.AddAsync(user_Role);

                await _repositoryWrapper.User_RoleRepository.SaveAsync();

                return(Ok(new { code = 0, msg = "角色分配成功!" }));
            }

            var user2 = await _repositoryWrapper.UserRepository.GetByIdAsync(userId);

            if (user2 == null)
            {
                return(NotFound());
            }
            userrole.UserId    = user2.Id;
            userrole.UserEmail = user2.NickName;
            var role2 = await _context.Roles.FindAsync(roleId);

            if (role2 == null)
            {
                return(NotFound());
            }
            userrole.RoleId   = role2.Id;
            userrole.RoleName = role2.Name;
            await _repositoryWrapper.User_RoleRepository.UpdateAsync(userrole);

            await _repositoryWrapper.User_RoleRepository.SaveAsync();

            return(Ok(new { code = 0, msg = "角色分配成功!" }));
        }
        public ActionResult AggRole(string usrname)
        {
            User_Role UserRol = new User_Role();

            UserRol.UserName = usrname;

            ViewBag.Roles = new SelectList(getRoles(), "RolName", "RolName");

            return(View(UserRol));
        }
예제 #18
0
 public ActionResult Edit([Bind(Include = "UserRole_ID,UserRole_Description")] User_Role user_Role)
 {
     if (ModelState.IsValid)
     {
         db.Entry(user_Role).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(user_Role));
 }
예제 #19
0
        public void RefreshGroups()
        {
            DBEntities context       = COREobject.i.Context;
            string     groupADServer = WebConfigurationManager.AppSettings[$"Persona_AdGroupServer"];

            NexusLdapService ldap = new NexusLdapService();

            ldap.UseServer(groupADServer);

            // get ADgroup_User from AD
            List <ADgroup_User> rightsLdap = new List <ADgroup_User>();

            foreach (ADgroup group in context.ADgroups.ToList())
            {
                // For ADGroup with added RoleForApplication remove UserRoles
                if (!string.IsNullOrEmpty(group.RoleForApplication))
                {
                    foreach (User_Role userRole in context.Users_Roles.ToList())
                    {
                        if (userRole.ApplicationId == group.ApplicationId && userRole.RoleName == group.RoleForApplication)
                        {
                            context.Users_Roles.Remove(userRole);
                        }
                    }
                }

                var ADapps = ldap.GetGroups(group.Name);
                if (ADapps.Count() == 0)
                {
                    continue;
                }

                foreach (JToken ADapp in ADapps) // should be only 1
                {
                    foreach (JToken member in ADapp["member"])
                    {
                        // save user with groups
                        User user = AuthAD.getUserAndHisGroupsFromAD(identify: (string)member).Item1;

                        // Add UserRole according to ADGroup
                        if (!string.IsNullOrEmpty(group.RoleForApplication))
                        {
                            User_Role newUserRole = new User_Role();
                            newUserRole.UserId          = user.Id;
                            newUserRole.RoleName        = group.RoleForApplication;
                            newUserRole.ApplicationId   = group.ApplicationId ?? 0;
                            newUserRole.ApplicationName = context.Applications.Find(group.ApplicationId ?? 0).Name;
                            context.Users_Roles.Add(newUserRole);
                        }
                    }
                }
            }

            context.SaveChanges();
        }
예제 #20
0
        public IHttpActionResult GetUser_Role(Guid id)
        {
            User_Role user_Role = db.User_Role.First(u => u.UserID == id);

            if (user_Role == null)
            {
                return(NotFound());
            }

            return(Ok(user_Role));
        }
예제 #21
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="id"></param>
        /// <param name="entity"></param>
        /// <returns></returns>
        public async Task <bool> PutEntityAsync(string id, User_Role entity)
        {
            if (!IsExists(id))
            {
                return(false);
            }

            _context.Attach(entity);
            _context.Update(entity);
            return(await _context.SaveChangesAsync() > 0);
        }
예제 #22
0
        private void Setup()
        {
            foreach (City item in DictionaryMocks.cityMock)
            {
                City newCity = (City)item.Clone();
                newCity.Id = null;
                listCity.Add(newCity);
            }
            for (int i = 0; i < listCity.Count; i++)
            {
                int id = (int)dictionaryStorage.CityAddOrUpdate(listCity[i]).Result;
                listCity[i].Id = id;
            }

            foreach (Role item in DictionaryMocks.roleMocks)
            {
                Role newRole = (Role)item.Clone();
                newRole.Id = null;
                listRole.Add(newRole);
            }
            for (int i = 0; i < listRole.Count; i++)
            {
                int id = (int)dictionaryStorage.RoleAddOrUpdate(listRole[i]).Result;
                listRole[i].Id = id;
            }

            foreach (User item in UserMock.listUsers)
            {
                User newUser = (User)item.Clone();
                newUser.CityId = (int)listCity[0].Id;
                newUser.Id     = null;
                listUser.Add(newUser);
            }
            for (int i = 0; i < listUser.Count; i++)
            {
                int id = (int)userStorage.UserAddOrUpdate(listUser[i]).Result;
                listUser[i].Id = id;
            }


            foreach (User_Role item in User_RoleMock.user_RoleMocks)
            {
                User_Role newUser_Role = (User_Role)item.Clone();
                newUser_Role.Id = null;
                listUser_role.Add(newUser_Role);
            }
            for (int i = 0; i < listUser_role.Count; i++)
            {
                listUser_role[i].RoleId = (int)listRole[i].Id;
                listUser_role[i].UserId = (int)listUser[i].Id;
                int id = (int)userStorage.User_RoleAdd(listUser_role[i]).Result;
                listUser_role[i].Id = id;
            }
        }
예제 #23
0
        public ActionResult Edit(User_Role userrole)
        {
            var ur = DB.User_Role.Find(userrole.User_ID);

            ur.User_ID  = userrole.User_ID;
            ur.Login    = userrole.Login + "@fpt.edu.vn";
            ur.Role     = ur.Role;
            ur.isActive = userrole.isActive;
            DB.SaveChanges();
            return(RedirectToAction("ListAll"));;
        }
예제 #24
0
        public ActionResult Create([Bind(Include = "UserRole_ID,UserRole_Description")] User_Role user_Role)
        {
            if (ModelState.IsValid)
            {
                db.User_Role.Add(user_Role);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(user_Role));
        }
        public ActionResult Index(User_Role user_Role, FormCollection form)
        {
            User_Role model = new User_Role();

            model.Role_id  = Convert.ToInt16(form["Rol"]);
            model.User_id  = Convert.ToInt16(form["usr"]);
            model.Table_id = Convert.ToInt16(form["table"]);
            db.User_Role.Add(model);
            db.SaveChanges();
            return(View());
        }
예제 #26
0
        public async Task <IActionResult> OnPostAsync(string returnUrl = null)
        {
            returnUrl = returnUrl ?? Url.Content("~/");

            if (ModelState.IsValid)
            {
                // This doesn't count login failures towards account lockout
                // To enable password failures to trigger account lockout, set lockoutOnFailure: true
                var result = await _signInManager.PasswordSignInAsync(Input.Email, Input.Password, Input.RememberMe, lockoutOnFailure : false);

                var users = from m in _userManager.Users
                            where m.Email.Equals(Input.Email)
                            select m.User_Role;

                if (result.Succeeded)
                {
                    _logger.LogInformation("User logged in.");

                    //the first page foe user role once logging in
                    foreach (string User_Role in users)
                    {
                        if (String.IsNullOrEmpty(User_Role))
                        {
                            return(RedirectToAction("Index", "Home"));
                        }
                        else if (User_Role.Equals("Customer"))
                        {
                            return(RedirectToAction("Index", "Orders"));
                        }
                        else if (User_Role.Equals("Driver"))
                        {
                            return(RedirectToAction("Index", "Driver"));
                        }
                    }
                }
                if (result.RequiresTwoFactor)
                {
                    return(RedirectToPage("./LoginWith2fa", new { ReturnUrl = returnUrl, RememberMe = Input.RememberMe }));
                }
                if (result.IsLockedOut)
                {
                    _logger.LogWarning("User account locked out.");
                    return(RedirectToPage("./Lockout"));
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Invalid login attempt.");
                    return(Page());
                }
            }

            // If we got this far, something failed, redisplay form
            return(Page());
        }
예제 #27
0
 public async Task <User_Role> Get(int id)
 {
     try
     {
         User_Role lstUser_Role = adbContext.user_role.AsEnumerable <User_Role>().Where(w => w.Id == id).ToList().SingleOrDefault();
         return(await Task.FromResult(lstUser_Role));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #28
0
 public ActionResult Edit([Bind(Include = "User_ID,Role_ID,Login,isActive")] User_Role user_Role)
 {
     if (ModelState.IsValid)
     {
         user_Role.Login           = user_Role.Login + "@fpt.edu.vn";
         db.Entry(user_Role).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Role_ID = new SelectList(db.Roles, "Role_ID", "Role_Name", user_Role.Role_ID);
     return(View(user_Role));
 }
예제 #29
0
        public IHttpActionResult GetUser_Role(int id)
        {
            db.Configuration.ProxyCreationEnabled = false;
            User_Role user_Role = db.User_Role.Find(id);

            if (user_Role == null)
            {
                return(NotFound());
            }

            return(Ok(user_Role));
        }
예제 #30
0
 public async Task Update(User_Role entity)
 {
     try
     {
         adbContext.user_role.Update(entity);
         await Task.FromResult(adbContext.SaveChanges());
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #31
0
        protected void gvSearchUser_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            GridViewRow drv = ((GridViewRow)(((LinkButton)(e.CommandSource)).Parent.Parent)); //此得出的值是表示那行被选中的索引值
            int userid = Convert.ToInt32(gvSearchUser.DataKeys[drv.RowIndex].Value); //此获取的值为GridView中绑定数据库中的主键值

            String roleid = (String)ViewState["roleid"];

            User_Role ur = new User_Role();
            ur.UserKey = userid;
            ur.RoleKey = Convert.ToInt32(roleid);
            if (e.CommandName == "Add")
            {
                BLL.admin.role.RoleManagement.insertRoleUser(ur);
                databind();
                lbMessage.Text = "添加成员成功!";
            }
        }
예제 #32
0
        public static bool insertRoleUser(User_Role ur)
        {
            using (DataClassesEduDataContext dc = new DataClassesEduDataContext())
            {
                dc.User_Role.InsertOnSubmit(ur);
                dc.SubmitChanges();
                return true;

            }
        }