Exemplo n.º 1
0
        // 2) 后台app检查
        private Boolean checkSiteAppAdminPermission()
        {
            if (isSiteAppAdmin() == false)
            {
                return(true);
            }

            if (ctx.app == null)
            {
                return(true);
            }
            if (ctx.app.obj == null)
            {
                return(true);
            }
            IMemberApp app = ((AppContext)ctx.app).UserApp;

            if (app == null)
            {
                return(true);
            }

            Boolean hasPermission = AppAdminRole.IsRoleInApp(((User)ctx.viewer.obj).RoleId, app.Id);

            if (!hasPermission)
            {
                echo(lang("exNoAppAdminPermission"));
                return(false);
            }
            return(true);
        }
Exemplo n.º 2
0
        public void CanAppAdmin(int appId)
        {
            if (ctx.viewer.IsLogin == false)
            {
                echoText("no");
                return;
            }

            if (ctx.viewer.IsAdministrator())
            {
                echoAjaxOk();
                return;
            }

            String appType = ctx.Get("appType");

            if (ObjectContext.Instance.TypeList.ContainsKey(appType) == false)
            {
                echoText("no");
                return;
            }

            Type t = ObjectContext.Instance.TypeList[appType];

            if (AppAdminRole.CanAppAdmin(ctx.viewer.obj, t, appId))
            {
                echoAjaxOk();
            }
            else
            {
                echoText("no");
            }
        }
Exemplo n.º 3
0
        private void bindAppNavList(IList apps)
        {
            IBlock block = getBlock("apps");

            foreach (IMemberApp app in apps)
            {
                if (AppAdminRole.CanAppAdmin(ctx.viewer.obj, app.Id) == false)
                {
                    continue;
                }

                block.Set("app.NameAndUrl", getLeftSiteNameAndUrl(app));
                block.Next();
            }
        }
Exemplo n.º 4
0
        private String getAppList(IList apps)
        {
            StringBuilder builder = new StringBuilder();

            builder.Append("<li id=\"appAdminItem\"><div>{0}</div><div><span id=\"appAdmin\" class=\"menuMore\" list=\"appAdminMenus\">{1} " + getDownImg() + "</span></div></li>");
            //builder.AppendFormat( " <img src=\"{0}\"/></span></li>", strUtil.Join( sys.Path.Img, "down.gif" ) );
            builder.Append("<ul id=\"appAdminMenus\" class=\"menuItems\" style=\"display: none; \">");
            foreach (IMemberApp app in apps)
            {
                if (!AppAdminRole.IsRoleInApp(((User)ctx.viewer.obj).RoleId, app.Id))
                {
                    continue;
                }

                builder.Append("<li>");
                builder.Append(getSiteNameAndUrl(app));
                builder.Append("</li>");
            }

            builder.Append("</ul>");
            return(builder.ToString());
        }
Exemplo n.º 5
0
        public void SaveAppAdminRole()
        {
            String appRoles = ctx.Post("appRole");

            AppAdminRole.DeleteAll();

            if (strUtil.HasText(appRoles))
            {
                string[] values = appRoles.Split(',');
                foreach (String str in values)
                {
                    if (strUtil.IsNullOrEmpty(str))
                    {
                        continue;
                    }
                    string[] arrItem = str.Split('_');
                    if (arrItem.Length != 2)
                    {
                        continue;
                    }

                    int appId  = cvt.ToInt(arrItem[0]);
                    int roleId = cvt.ToInt(arrItem[1]);
                    if (appId <= 0 || roleId <= 0)
                    {
                        continue;
                    }

                    AppAdminRole ar = new AppAdminRole();
                    ar.AppId  = appId;
                    ar.RoleId = roleId;
                    ar.insert();
                }
            }

            log(SiteLogString.UpdateAppAdminPermission(), typeof(AppAdminRole));

            echoRedirect(lang("saved"));
        }
        private void bindRoleList(List <SiteRole> roles, IList apps)
        {
            IBlock roleBlock = getBlock("roles");

            foreach (SiteRole role in roles)
            {
                roleBlock.Set("role.Name", role.Name);

                IBlock appBlock = roleBlock.GetBlock("apps");

                foreach (IMemberApp app in apps)
                {
                    String strChecked = AppAdminRole.IsRoleInApp(role.Id, app.Id) ? "checked=\"checked\"" : "";
                    appBlock.Set("checkedString", strChecked);
                    appBlock.Set("app.Id", app.Id);
                    appBlock.Set("role.Id", role.Id);

                    appBlock.Next();
                }

                roleBlock.Next();
            }
        }
Exemplo n.º 7
0
        private Boolean hasAdminPermission()
        {
            if (!ctx.viewer.IsLogin)
            {
                return(false);
            }

            if (ctx.viewer.IsAdministrator())
            {
                return(true);
            }

            if (ctx.owner.obj.GetType() == typeof(User))
            {
                return(ctx.owner.Id == ctx.viewer.Id);
            }

            if (ctx.owner.obj.GetType() == typeof(Site) && ctx.app != null && ctx.app.obj != null)
            {
                return(AppAdminRole.CanAppAdmin(ctx.viewer.obj, ctx.app.obj.GetType(), ctx.app.Id));
            }

            return(ctx.viewer.IsOwnerAdministrator(ctx.owner.obj));
        }
Exemplo n.º 8
0
 private static void intiAppPermission(IMemberApp app)
 {
     AppRole.InitSiteFront(app.Id);
     AppAdminRole.InitSiteAdmin(app.Id);
 }
Exemplo n.º 9
0
 protected void initAppPermission(IMemberApp app)
 {
     AppRole.InitSiteFront(app.Id);
     AppAdminRole.InitSiteAdmin(app.Id);
 }