Example #1
0
 private void 查看ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     frmLoading.ShowTop();
     //Add By 顾挺 2017-05-12  意图:学员单线程打开文件,体验实在太差,为了增强用户体验,因为大文件加载速度实在太慢,添加多线程
     //开启任务
     AT.Create <string[]>(() =>
     {
         string fileid = skinDataGridView1.CurrentRow.Cells["FileId"].Value.ToString();
         bool check    = AuthPermission.Auth(LoginUser.UserId, Convert.ToInt32(fileid), FilePermission.Read);
         if (check)
         {
             return(LoadData(fileid));
         }
         else
         {
             MessageBox.Show("您没有权限阅读该文件", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         }
         return(null);
         //上一步任务成功之后,执行下一个操作
     }).Run((i) =>
     {
         if (i != null)
         {
             ShowFileDialog(i[2], i[0], i[1], i[3]);
         }
         //完成所有操作执行操作
     }, () => { frmLoading.Close(); });
 }
Example #2
0
        private void 归档ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string fileid = skinDataGridView1.CurrentRow.Cells["FileId"].Value.ToString();
            bool   check  = AuthPermission.Auth(LoginUser.UserId, Convert.ToInt32(fileid), FilePermission.Archive);

            if (check)
            {
                DialogResult dlg = MessageBox.Show("是否归档该文件", "系统提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (dlg == System.Windows.Forms.DialogResult.Yes)
                {
                    bool c = new FileBLL().UpdateFileArchive(Convert.ToInt32(fileid), true);
                    if (c)
                    {
                        MessageBox.Show("归档该文件成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    else
                    {
                        MessageBox.Show("归档该文件失败!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    }
                }
            }
            else
            {
                MessageBox.Show("您没有权限归档该文件", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
Example #3
0
 private void OpenFile(string fileID)
 {
     if (string.IsNullOrWhiteSpace(fileID))
     {
         return;
     }
     //开启任务
     AT.Create <string[]>(() =>
     {
         string fileid = fileID;
         bool check    = AuthPermission.Auth(LoginUser.UserId, Convert.ToInt32(fileid), FilePermission.Read);
         if (check)
         {
             return(LoadData(fileid));
         }
         else
         {
             MessageBox.Show("您没有权限阅读该文件", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         }
         return(null);
         //上一步任务成功之后,执行下一个操作
     }).Run((i) =>
     {
         if (i != null)
         {
             ShowFileDialog(i[2], i[0], i[1], i[3]);
         }
         //完成所有操作执行操作
     }, () => { frmLoading.Close(); });
 }
Example #4
0
        private void 借阅ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string fileid = skinDataGridView1.CurrentRow.Cells["FileId"].Value.ToString();
            bool   check  = AuthPermission.Auth(LoginUser.UserId, Convert.ToInt32(fileid), FilePermission.Share);

            if (check)
            {
                frmPermissionConfig frm = new frmPermissionConfig(Convert.ToInt32(fileid));
                frm.ShowDialog();
            }
            else
            {
                MessageBox.Show("您没有权限借阅该文件", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
Example #5
0
        public static AuthorizationResponse GetAuthorizations(this Authorization request,
                                                              Factory factory, IRequestContext requestContext)
        {
            var          httpRequest = requestContext.Get <IHttpRequest>();
            IAuthSession session     = httpRequest.GetSession();

            if (!session.HasRole(RoleNames.Admin))
            {
                request.UserId = int.Parse(session.UserAuthId);
            }

            List <AuthRole>       roles       = new List <AuthRole>();
            List <AuthPermission> permissions = new List <AuthPermission>();

            List <AuthRoleUser>       aur     = new List <AuthRoleUser>();
            List <AuthRole>           rol     = new List <AuthRole>();
            List <AuthPermission>     per     = new List <AuthPermission>();
            List <AuthRolePermission> rol_per = new List <AuthRolePermission>();

            factory.Execute(proxy =>
            {
                aur = proxy.Get <AuthRoleUser>(q => q.UserId == request.UserId);
                //proxy.GetByUserIdFromCache<AuthRoleUser>(request.UserId); // causa problemas .net !!! no en mono
                rol     = proxy.GetFromCache <AuthRole>();
                per     = proxy.GetFromCache <AuthPermission>();
                rol_per = proxy.GetFromCache <AuthRolePermission>();

                foreach (var r in aur)
                {
                    AuthRole ar = rol.First(x => x.Id == r.AuthRoleId);
                    roles.Add(ar);
                    rol_per.Where(q => q.AuthRoleId == ar.Id).ToList().ForEach(y => {
                        AuthPermission up = per.First(p => p.Id == y.AuthPermissionId);
                        if (permissions.FindIndex(f => f.Name == up.Name) < 0) // .IndexOf(up) <0)
                        {
                            permissions.Add(up);
                        }
                    });
                }
                ;
            });

            return(new AuthorizationResponse()
            {
                Permissions = permissions,
                Roles = roles,
            });
        }
Example #6
0
        public static Response <AuthPermission> Put(this AuthPermission request,
                                                    Factory factory,
                                                    IHttpRequest httpRequest)
        {
            factory.Execute(proxy => {
                proxy.DeleteFromCache <AuthPermission>();
                proxy.Update(request);
            });

            List <AuthPermission> data = new List <AuthPermission>();

            data.Add(request);

            return(new Response <AuthPermission>()
            {
                Data = data
            });
        }
Example #7
0
        private void  载ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //获得文件编号
            string fileid = skinDataGridView1.CurrentRow.Cells["FileId"].Value.ToString();
            string ext    = skinDataGridView1.CurrentRow.Cells["FileExt"].Value.ToString();
            //检测是否具备下载权限
            bool check = AuthPermission.Auth(LoginUser.UserId, Convert.ToInt32(fileid), FilePermission.Download);

            if (check)
            {
                SaveFileDialog sfd = new SaveFileDialog();
                sfd.Filter      = string.Format("资料文件(*.{0})|*.{1}", ext, ext);
                sfd.FilterIndex = 1; //设置顺序
                if (sfd.ShowDialog() == DialogResult.OK)
                {
                    string localFilePath = sfd.FileName.ToString(); //获得文件路径
                    var    lst           = new FileBLL().GetOne(Convert.ToInt32(fileid));
                    ;
                    if (lst != null && lst.Count > 0)
                    {
                        try
                        {
                            //生成本地文件
                            var Files = (Byte[])lst[0].FileData;
                            var name  = GenerateCheckCode(20);
                            var path  = localFilePath;
                            var bw    = new BinaryWriter(System.IO.File.Open(path, FileMode.OpenOrCreate));
                            bw.Write(Files, 0, Files.Length);
                            bw.Flush();
                            bw.Close();
                        }
                        catch
                        {
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("您没有权限下载该文件", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
Example #8
0
        private void  除ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //获得文件编号
            string fileid = skinDataGridView1.CurrentRow.Cells["FileId"].Value.ToString();
            bool   check  = AuthPermission.Auth(LoginUser.UserId, Convert.ToInt32(fileid), FilePermission.Delete);

            if (check)
            {
                List <FileSystem.Model.File> model = new FileBLL().GetOne(Convert.ToInt32(fileid));
                if (model != null && model.Count > 0)
                {
                    if (!model[0].FileArchive)
                    {
                        DialogResult dlg = MessageBox.Show("您是否确认要删除该文件?", "系统提示", MessageBoxButtons.YesNo,
                                                           MessageBoxIcon.Question);
                        if (dlg == DialogResult.Yes)
                        {
                            //删除文件
                            bool c = new FileBLL().Delete(Convert.ToInt32(fileid));
                            if (c)
                            {
                                MessageBox.Show("删除成功", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                                this.skinDataGridView1.Rows.Remove(skinDataGridView1.CurrentRow);
                            }
                            else
                            {
                                MessageBox.Show("删除失败", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("删除失败,该文件已归档!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    }
                }
            }
            else
            {
                MessageBox.Show("您没有权限删除该文件", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
Example #9
0
 public override void OnActionExecuting(ActionExecutingContext filterContext)
 {
     if (HttpContext.Current.User.Identity.IsAuthenticated && HttpContext.Current.Session["UserID"] == null)
     {
         FEEDbContext db    = new FEEDbContext();
         bool         Exist = db.Users.Any(e => e.Username == HttpContext.Current.User.Identity.Name);
         if (Exist)
         {
             var user        = db.Users.Where(e => e.Username == HttpContext.Current.User.Identity.Name).First();
             var userSession = new UserSession();
             userSession.Id           = user.Id;
             userSession.Name         = user.Name;
             userSession.RoleId       = user.RoleId;
             userSession.Username     = user.Username;
             userSession.DepartmentId = user.DepartmentId;
             HttpContext.Current.Session.Add("USER", userSession);
             HttpContext.Current.Session.Add("PERMISSION", AuthPermission.GetProfileService(user.Id));
         }
     }
     base.OnActionExecuting(filterContext);
 }
Example #10
0
        public Boolean PermCheck(string controller, string action, int UserId, int WareHId)
        {
            Boolean Status = false;

            //get the handheld termianl activities
            AuthActivity Activity = _currentDbContext.AuthActivities
                                    .Where(e => e.ActivityController == controller && e.ActivityAction == action &&
                                           e.IsActive == true && e.IsDeleted != true)?.FirstOrDefault();

            if (Activity != null)
            {
                AuthPermission Permission = _currentDbContext.AuthPermissions.Where(e => e.ActivityId == Activity.ActivityId && e.UserId == UserId && e.WarehouseId == WareHId &&
                                                                                    e.IsActive == true && e.IsDeleted != true)?.FirstOrDefault();

                if (Permission != null)
                {
                    Status = true;
                }
            }

            return(Status);
        }
Example #11
0
        public ActionResult Login(LoginViewModel model, string ReturnUrl)
        {
            if (ModelState.IsValid)
            {
                var exist = db.Users.Any(x => x.Username == model.Username);

                if (exist)
                {
                    var user = db.Users.Where(e => e.Username.Equals(model.Username)).First();
                    if (user != null)
                    {
                        if (user.Password == XString.ToMD5(model.Password) && user.Status == (int)UserStatus.Activated)
                        {
                            setCookie(user.Username, model.RememberMe, user.RoleId);
                            var userSession = new UserSession();
                            userSession.Id           = user.Id;
                            userSession.Name         = user.Name;
                            userSession.RoleId       = user.RoleId;
                            userSession.Username     = user.Username;
                            userSession.DepartmentId = user.DepartmentId;

                            Session.Add("USER", userSession);
                            Session.Add("PERMISSION", AuthPermission.GetProfileService(user.Id));

                            if (ReturnUrl != null)
                            {
                                return(Redirect(ReturnUrl));
                            }
                            return(RedirectToAction("Index", "Home"));
                        }
                        ModelState.AddModelError("", "Sai tài khoản hoặc mật khẩu!");
                        return(View());
                    }
                }
            }
            return(View());
        }
Example #12
0
        public static Response <AuthPermission> Get(this AuthPermission request,
                                                    Factory factory,
                                                    IHttpRequest httpRequest)
        {
            return(factory.Execute(proxy => {
                long?totalCount = null;

                var paginador = new Paginador(httpRequest);

                var visitor = ReadExtensions.CreateExpression <AuthPermission>();
                var predicate = PredicateBuilder.True <AuthPermission>();

                if (!request.Name.IsNullOrEmpty())
                {
                    predicate = q => q.Name.Contains(request.Name);
                }


                visitor.Where(predicate);
                if (paginador.PageNumber.HasValue)
                {
                    visitor.Select(r => Sql.Count(r.Id));
                    totalCount = proxy.Count(visitor);
                    visitor.Select();
                    int rows = paginador.PageSize.HasValue? paginador.PageSize.Value:BL.ResponsePageSize;
                    visitor.Limit(paginador.PageNumber.Value * rows, rows);
                }


                return new Response <AuthPermission>()
                {
                    Data = proxy.Get(visitor),
                    TotalCount = totalCount
                };
            }));
        }
        public ActionResult UserPermissions(int?id, string[] perm)
        {
            // get properties of tenant
            caTenant tenant = caCurrent.CurrentTenant();

            // get properties of user
            caUser user = caCurrent.CurrentUser();

            List <AuthPermission> Permissions = new List <AuthPermission>();
            HashSet <int>         wareh       = new HashSet <int>();

            if (perm != null)
            {
                foreach (var chk in perm)
                {
                    String[] exploded = chk.Split('-');
                    wareh.Add(Convert.ToInt32(exploded[0]));

                    AuthPermission Permission = new AuthPermission();

                    Permission.WarehouseId = Convert.ToInt32(exploded[0]);
                    Permission.ActivityId  = Convert.ToInt32(exploded[1]);
                    Permission.UserId      = Convert.ToInt32(id);
                    Permission.TenantId    = tenant.TenantId;
                    Permission.DateCreated = DateTime.UtcNow;
                    Permission.DateUpdated = DateTime.UtcNow;
                    Permission.CreatedBy   = user.UserId;
                    Permission.UpdatedBy   = user.UserId;
                    Permission.IsActive    = true;
                    Permission.IsDeleted   = false;

                    // add each permission in list
                    Permissions.Add(Permission);
                }

                // assign default permissions to the users for each warehouse
                foreach (var ware in wareh)
                {
                    // get list of activities which are excluded permissions
                    // these activites are to be allowed by default with each user
                    List <AuthActivity> ExActivities = new List <AuthActivity>();
                    ExActivities = _activityServices.GetExcludedActivities();

                    foreach (var Activity in ExActivities)
                    {
                        AuthPermission Permission = new AuthPermission();

                        Permission.WarehouseId = Convert.ToInt32(ware);
                        Permission.ActivityId  = Activity.ActivityId;
                        Permission.UserId      = Convert.ToInt32(id);
                        Permission.TenantId    = tenant.TenantId;
                        Permission.DateCreated = DateTime.UtcNow;
                        Permission.DateUpdated = DateTime.UtcNow;
                        Permission.CreatedBy   = user.UserId;
                        Permission.UpdatedBy   = user.UserId;
                        Permission.IsActive    = true;
                        Permission.IsDeleted   = false;

                        // add each permission in list
                        Permissions.Add(Permission);
                    }
                }
            }

            // remove previous permissions against user if any in database context
            List <AuthPermission> OldPermissions = new List <AuthPermission>();

            OldPermissions = _activityServices.GetPermissionsByUserId((int)id);

            //remove old permissions
            _activityServices.RemoveAuthPermissions(OldPermissions);

            // add new premissions in database context
            _activityServices.AddAuthPermissions(Permissions);

            // update user dateUpdated and Updated by
            AuthUser NewUser = _userService.GetAuthUserById(Convert.ToInt32(id));

            NewUser.DateUpdated = DateTime.UtcNow;
            NewUser.UpdatedBy   = user.UserId;

            _userService.UpdateAuthUserForPermissions(NewUser, user.UserId, tenant.TenantId);

            // return back to the origional refferal page
            return(RedirectToAction("Index"));
        }