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); } }
/* * 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); }
/// <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); }
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); } }