public ActionResult Save(string id, string descriptionResourceName, string name, string remark,
                                 string resourceId, int operators)
        {
            ResourceDescription resourceDescription = OrnamentContext.ResourceManager.Configuration()
                                                      .Get(descriptionResourceName);

            Permission permission;

            if (!string.IsNullOrEmpty(id))
            {
                permission = _memberShipFactory.CreatePermissionDao().Get(id);
            }
            else
            {
                permission = Permission.CreatePermission(resourceDescription.ValueType);
            }
            IResourceDao dao = _memberShipFactory.CreateResourceDao();

            permission.Name     = name;
            permission.Remark   = remark;
            permission.Resource = dao.GetResourceByStringId(resourceDescription.ValueType, resourceId);
            permission.Operator = operators;

            _memberShipFactory.CreatePermissionDao().SaveOrUpdate(permission);
            return(RedirectToAction("Index"));
        }
        /// <summary>
        ///     检查当前用户是否有资源的操作权限
        /// </summary>
        /// <param name="currentUser"></param>
        /// <param name="resType">资源类型</param>
        /// <param name="id">资源的Id</param>
        /// <param name="operator">操作</param>
        /// <returns>有操作权限返回true,否则返回false</returns>
        /// <exception cref="OrnamentException">通过资源Id,无法找到资源的时候,就会发出这个异常</exception>
        /// <remarks>
        /// </remarks>
        public bool HasRight(User currentUser, Type resType, string id, Enum @operator)
        {
            object res;

            try
            {
                res = _factory.CreateResourceDao().Load(resType, id);
            }
            catch (Exception ex)
            {
                throw new OrnamentException(String.Format("Can't find the resource {0}, id={1}", resType.FullName, id),
                                            ex);
            }
            return(HasRight(currentUser, res, @operator));
        }