Esempio n. 1
0
        private static void UpdateAccessStatus(IApp app, AccessStatus accessStatus)
        {
            IAccessStatus objApp = app as IAccessStatus;

            if (objApp != null)
            {
                objApp.AccessStatus = (int)accessStatus;
                db.update(objApp, "AccessStatus");
            }
        }
Esempio n. 2
0
        public static void UpdateAccessStatus(IMemberApp app, AccessStatus accessStatus)
        {
            Type          t      = Entity.New(app.AppInfo.TypeFullName).GetType();
            IAccessStatus objApp = ndb.findById(t, app.AppOid) as IAccessStatus;

            if (objApp != null)
            {
                objApp.AccessStatus = (int)accessStatus;
                db.update(objApp, "AccessStatus");
            }
        }
Esempio n. 3
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);
        }