Пример #1
0
        public ActionResult UpdateBusiness()
        {
            ReflectionController rc = new ReflectionController();
            List <Type>          listControllerType = rc.GetControllers("ManagementDispatch.Controllers");
            List <string>        listControllerOld  = _data.BlogBusinesses.Select(c => c.BusinessId).ToList();
            List <string>        listPermessionOld  = _data.BlogPermissions.Select(c => c.PermissionName).ToList();

            foreach (var c in listControllerType)
            {
                if (!listControllerOld.Contains(c.Name))
                {
                    BlogBusiness b = new BlogBusiness()
                    {
                        BusinessId = c.Name, BusinessName = "Chưa có mô tả"
                    };
                    _data.BlogBusinesses.InsertOnSubmit(b);
                    _data.SubmitChanges();
                }
                List <string> listPermission = rc.GetActions(c);
                foreach (var p in listPermission)
                {
                    if (!listPermessionOld.Contains(c.Name + "-" + p))
                    {
                        BlogPermission permission = new BlogPermission()
                        {
                            PermissionName = c.Name + "-" + p, Description = "Chưa có mô tả", BusinessId = c.Name
                        };
                        _data.BlogPermissions.InsertOnSubmit(permission);
                        _data.SubmitChanges();
                    }
                }
            }

            return(RedirectToAction("ListRole"));
        }
Пример #2
0
        public async Task <(bool IsAdd, string msg)> AddAsync(BlogPermission permission)
        {
            using (var conn = ConnectionFactory.GetOpenConnection())
            {
                var tran = conn.BeginTransaction();
                try
                {
                    if (GetExistCount("select count(*) from blogpermission where permissionId=@pid", new { pid = permission.PermissionId }) > 0)
                    {
                        return(false, "角色已经存在");
                    }
                    var pNum = await conn.ExecuteAsync("insert into blogpermission(PermissionName) values(@pName)", new { pName = permission.PermissionName });

                    if (pNum > 0)
                    {
                        tran.Commit();
                        return(true, "角色添加成功");
                    }
                    else
                    {
                        tran.Rollback();
                        return(false, "角色添加失败");
                    }
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    return(false, ex.Message);
                }
            }
        }
Пример #3
0
        public ActionResult UpdateNghiepVu()
        {
            ReflectionController rc = new ReflectionController();
            List <Type>          listControllerType = rc.GetControllers("QuanLyXe.Areas.Admin.Controllers");
            List <string>        listControllerOld  = db.NghiepVus.Select(c => c.MaNghiepVu).ToList();
            List <string>        listPermistionOld  = db.BlogPermissions.Select(p => p.PermisstionName).ToList();

            foreach (var c in listControllerType)
            {
                if (!listControllerOld.Contains(c.Name))
                {
                    NghiepVu nv = new NghiepVu()
                    {
                        MaNghiepVu = c.Name, TenNghiepVu = "Chưa có mô tả"
                    };
                    db.NghiepVus.Add(nv);
                }
                List <string> listPermisstion = rc.GetActions(c);
                foreach (var p in listPermisstion)
                {
                    if (!listPermistionOld.Contains(c.Name + "-" + p))
                    {
                        BlogPermission permission = new BlogPermission()
                        {
                            PermisstionName = c.Name + "-" + p, Description = "Chưa có mô tả", MaNghiepVu = c.Name
                        };
                        db.BlogPermissions.Add(permission);
                    }
                }
            }
            db.SaveChanges();
            TempData["err"] = "<div class='alert alert-info' role='alert'><span class='glyphicon glyphicon-exclamation-sign' aria-hidden='true'></span><span class='sr-only'></span>Cập Nhật</div>";
            return(RedirectToAction("Index"));
        }
Пример #4
0
        public ActionResult DeleteConfirmed(int id)
        {
            BlogPermission blogPermission = db.BlogPermissions.Find(id);

            db.BlogPermissions.Remove(blogPermission);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #5
0
 public ActionResult Edit([Bind(Include = "PermissionId,PermisstionName,Description,MaNghiepVu")] BlogPermission blogPermission)
 {
     if (ModelState.IsValid)
     {
         db.Entry(blogPermission).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index", new { id = blogPermission.MaNghiepVu }));
     }
     ViewBag.MaNghiepVu = new SelectList(db.NghiepVus, "MaNghiepVu", "TenNghiepVu", blogPermission.MaNghiepVu);
     return(View(blogPermission));
 }
Пример #6
0
        public ActionResult Create([Bind(Include = "PermissionId,PermisstionName,Description,MaNghiepVu")] BlogPermission blogPermission)
        {
            if (ModelState.IsValid)
            {
                db.BlogPermissions.Add(blogPermission);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.MaNghiepVu = new SelectList(db.NghiepVus, "MaNghiepVu", "TenNghiepVu", blogPermission.MaNghiepVu);
            return(View(blogPermission));
        }
Пример #7
0
        // GET: Admin/BlogPermissions/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            BlogPermission blogPermission = db.BlogPermissions.Find(id);

            if (blogPermission == null)
            {
                return(HttpNotFound());
            }
            return(View(blogPermission));
        }
Пример #8
0
        // GET: Admin/BlogPermissions/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            BlogPermission blogPermission = db.BlogPermissions.Find(id);

            if (blogPermission == null)
            {
                return(HttpNotFound());
            }
            ViewBag.MaNghiepVu = new SelectList(db.NghiepVus, "MaNghiepVu", "TenNghiepVu", blogPermission.MaNghiepVu);
            return(View(blogPermission));
        }
Пример #9
0
        public ActionResult EditBlogPermission(int id, FormCollection formCollection)
        {
            try
            {
                BlogPermission blogPermission = _data.BlogPermissions.SingleOrDefault(n => n.PermissionId == id);
                blogPermission.Description = formCollection["Description"];
                UpdateModel(blogPermission);
                _data.SubmitChanges();

                return(RedirectToAction("ListPermission", new { id = blogPermission.BusinessId }));
            }
            catch
            {
                return(View());
            }
        }
Пример #10
0
        //- ~ValidateSystemPermission -//
        internal static void ValidateSystemPermission(BlogPermission blogPermission)
        {
            Char databasePermissionCode = GetDatabasePermissionCode(blogPermission);

            //+
            using (MinimaServiceLINQDataContext db = new MinimaServiceLINQDataContext(ServiceConfiguration.ConnectionString))
            {
                String authorEmail = OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Name;
                //+ validate
                AuthorLINQ authorLinq;
                Validator.EnsureAuthorExists(authorEmail, out authorLinq, db);
                //+
                if (!authorLinq.UserRights.Any(ur => ur.UserRightLevel == PermissionLevel.System &&
                                               ur.UserRightType == databasePermissionCode))
                {
                    throw new SecurityException(Message.Invalid);
                }
            }
        }
Пример #11
0
        //- $GetDatabasePermissionCode -//
        private static Char GetDatabasePermissionCode(BlogPermission blogPermission)
        {
            switch (blogPermission)
            {
            case BlogPermission.Create:
                return('C');

            case BlogPermission.Retrieve:
                return('R');

            case BlogPermission.Update:
                return('U');

            case BlogPermission.Delete:
                return('D');

            default:
                throw new InvalidOperationException("Invalid blog permission required.");
            }
        }
 /// <summary>
 /// Generate a new admin user (for when doesn't exist) independent of the implementation type
 /// </summary>
 /// <returns>The new login</returns>
 public virtual BlogLogin GenerateDefaultUser(BlogPermission permissionLevel, String password = "")
 => new BlogLogin()
 {
     Id           = Guid.NewGuid().ToString(), // Generate a new ID for this user
     BlogId       = "",
     Username     = defaultAdminUsername,
     PasswordHash = (new CryptoHelper()).CalculateHash(
         (permissionLevel == BlogPermission.Admin) ? defaultAdminPassword : password),
     Email          = defaultAdminEmail, // Default email (not a real one)
     PasswordChange = true,              // Requires a password change the first login
     Permissions    = (permissionLevel == BlogPermission.Admin) ?
                      new List <BlogPermission>()
     {
         BlogPermission.Admin,
         BlogPermission.User
     } :
     new List <BlogPermission>()
     {
         BlogPermission.User
     }
 };
 /// <summary>
 /// Setup to tell the system what level of security it should have
 /// </summary>
 public BlogSecurityAttribute(BlogPermission permission)
 {
     this.Permission = permission;
 }
Пример #14
0
 //+
 //- @Ctor -//
 public MinimaSecureOperationInvoker(IOperationInvoker operationInvoker, Char permissionLevel, BlogPermission permissionRequired)
 {
     this.InnerOperationInvoker = operationInvoker;
     this.PermissionLevel       = permissionLevel;
     this.PermissionRequired    = permissionRequired;
 }
Пример #15
0
        public ActionResult EditBlogPermission(int id)
        {
            BlogPermission blogBusiness = _data.BlogPermissions.SingleOrDefault(n => n.PermissionId == id);

            return(View(blogBusiness));
        }