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(); }); }
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); } }
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(); }); }
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); } }
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, }); }
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 }); }
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); } }
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); } }
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); }
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); }
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()); }
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")); }