Example #1
0
        private String checkUserApp()
        {
            if (ctx.app == null)
            {
                return(appOk);
            }

            IAccessStatus securityApp = ctx.app.obj as IAccessStatus;

            if (securityApp == null)
            {
                return(appOk);
            }

            if (ctx.owner.Id == ctx.viewer.Id)
            {
                return(appOk);
            }

            // 基于好友关系验证app权限
            if (securityApp.AccessStatus == (int)AccessStatus.Public)
            {
                return(appOk);
            }

            if (securityApp.AccessStatus == (int)AccessStatus.Friend)
            {
                FriendService friendService = new FriendService();
                if (friendService.IsFriend(ctx.viewer.Id, ctx.owner.Id) == false)
                {
                    return(lang("exFriendVisitOnly"));
                }
            }
            else if (securityApp.AccessStatus == (int)AccessStatus.Private)
            {
                if (ctx.viewer.Id != ctx.owner.obj.Id)
                {
                    return(lang("exVisitForbidden"));
                }
            }

            return(appOk);
        }