示例#1
0
        protected void btnSync_Click(object sender, EventArgs e)
        {
            InvokeWebServiceJob job = InvokeWebServiceJobAdapter.Instance.LoadSingleDataByJobID(JobID);

            if (job == null)
            {
                string url        = ResourceUriSettings.GetConfig().Paths["pcServiceAdSync"].Uri.ToString();
                string methodName = "StartADReverseSynchronize";
                WfServiceOperationParameterCollection parameters = new WfServiceOperationParameterCollection();
                parameters.Add(new WfServiceOperationParameter()
                {
                    Name = "taskID", Type = WfSvcOperationParameterType.RuntimeParameter, Value = "taskID"
                });                                                                                                                                                           //特殊用法
                string name = "AD逆同步-用户发起";

                job = Util.CreateImmediateJob(JobID, name, "AD→PC", url, methodName, parameters);
                InvokeWebServiceJobAdapter.Instance.Update(job);
            }

            //检查是否有任务已经进入执行序列
            if (SysTaskAdapter.Instance.Load(w => { w.AppendItem("CATEGORY", "AD→PC"); }).Any())
            {
                BannerNotice notic = (BannerNotice)Master.FindControl("notice");
                notic.Text = ("检测到已经存在一个未执行或执行中的同步任务,请等待任务结束或者终止任务后重试。");
            }
            else
            {
                SysTask task = job.ToSysTask();
                task.Url    = this.ResolveUrl("~/lists/ADReverseLog.aspx?id=" + task.TaskID);
                task.Source = MCS.Library.Principal.DeluxeIdentity.CurrentUser;
                SysTaskAdapter.Instance.Update(task);
            }
        }
示例#2
0
        /*
         *      internal static void ValidateAdminRole(MCS.Library.OGUPermission.IRole role)
         *      {
         *              string[] parts = role.FullCodeName.Split(':');
         *
         *              if (parts.Length != 2 || parts[0].Length == 0 || parts[1].Length == 0)
         *                      throw new FormatException("角色的全名格式有误");
         *
         *              var app = PC.Adapters.SchemaObjectAdapter.Instance.LoadByCodeName("Applications", parts[0], DateTime.MinValue) as PC.SCApplication;
         *
         *              var role1 = PC.Adapters.SchemaObjectAdapter.Instance.LoadByCodeName("Roles", parts[1], DateTime.MinValue) as PC.SCRole;
         *
         *              if (app == null)
         *                      throw new ManageRoleNotExistException(parts[0], parts[1]);
         *
         *              if (PC.Adapters.SCMemberRelationAdapter.Instance.Load(app.ID, role1.ID) == null)
         *                      throw new ManageRoleNotExistException(parts[0], parts[1], string.Format("存在无效的配置,指定的角色全名对应无效的对象{0}", parts[0], parts[1]));
         *      }
         */

        internal static ManageAclStatus GetAdminRoleStatus(BannerNotice notice)
        {
            ManageAclStatus result;

            var adminRole = ObjectSchemaSettings.GetConfig().GetAdminRole();

            if (adminRole != null)
            {
                // 检查授权
                try
                {
                    // Util.ValidateAdminRole(adminRole);
                    // 经过这步,基本确定配置和当前对象无误
                    string[] parts = adminRole.FullCodeName.Split(':');

                    string adminRoleID;
                    if (parts.Length != 2)
                    {
                        throw new FormatException("配置文件中的管理角色路径格式错误。");
                    }

                    try
                    {
                        adminRoleID = adminRole.ID; // 有可能抛异常
                    }
                    catch (Exception ex)
                    {
                        throw new ManageRoleNotExistException(parts[0], parts[1], ex);
                    }

                    if (Util.IsRoleEmpty(adminRoleID))
                    {
                        notice.Text       = string.Format("管理角色{0}尚无任何人员,权限已完全开放,请联系管理员立即处理此安全风险。", adminRole.FullCodeName);
                        notice.RenderType = WebControls.NoticeType.Warning;
                        result            = ManageAclStatus.NobodyIn;
                    }
                    else
                    {
                        result = ManageAclStatus.Ready;
                    }
                }
                catch (ManageRoleNotExistException m)
                {
                    notice.Text       = m.Message + " 请联系管理员";
                    notice.RenderType = WebControls.NoticeType.Error;
                    result            = ManageAclStatus.RoleNotExists;
                }
            }
            else
            {
                notice.RenderType = WebControls.NoticeType.Error;
                notice.Text       = "系统尚未配置管理应用和角色,授权管理操作对所有用户开放,为了防范安全风险请联系管理员立即修改配置并重启服务。";
                result            = ManageAclStatus.NoConfig;
            }

            return(result);
        }
示例#3
0
        /// <summary>
        /// 获取当前目录子节点
        /// </summary>
        private void GetRoot(HttpContext context)
        {
            string json = "[{\"rootName\":\"销售板块\",\"category\":\"0\",\"categoryName\":\"\\\\销售板块\\\\销售板块\"},{\"rootName\":\"渠道板块\",\"category\":\"1\",\"categoryName\":\"\\\\销售板块\\\\销售板块\"}]"; // 子节点json字符串

            context.Response.Write(json);
            BannerNotice n = new BannerNotice();
            Type         t = Type.GetType(n.GetType().ToString(), true);
            object       c = Activator.CreateInstance(t);
        }
示例#4
0
    protected override void panelStart()
    {
        SkitConnector.Instance.root.Initialize("1MeYvualTlwUmGrO9Wx9CcWlQCCTZ3aVxmZa1Gm33O_A", "oc91q9y", "notice_tutorial");
        base.panelStart();

        foreach (BannerNotice notice in m_bannerNoticeList)
        {
            Destroy(notice.gameObject);
        }
        m_bannerNoticeList.Clear();

        foreach (MasterNoticeParam param in DataManager.Instance.masterNotice.list)
        {
            BannerNotice notice = PrefabManager.Instance.MakeScript <BannerNotice>("prefab/BannerNotice", m_goContentsRoot);
            notice.Initialize(param);
            m_bannerNoticeList.Add(notice);
        }
    }