示例#1
0
        public override void OnActionExecuting(ActionExecutingContext c)
        {
            CanvasSession session = null;

            if (IsFbml)
            {
                if (!string.IsNullOrEmpty(RequiredPermissions))
                {
                    session = new FBMLCanvasSession(ApiKey ?? WebConfigurationManager.AppSettings["ApiKey"], Secret ?? WebConfigurationManager.AppSettings["Secret"], ParsePermissions(RequiredPermissions));
                }
                else
                {
                    session = new FBMLCanvasSession(ApiKey ?? WebConfigurationManager.AppSettings["ApiKey"], Secret ?? WebConfigurationManager.AppSettings["Secret"]);
                }
            }
            else
            {
                c.HttpContext.Response.AppendHeader("p3p", "CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");

                if (!string.IsNullOrEmpty(RequiredPermissions))
                {
                    session = new IFrameCanvasSession(ApiKey ?? WebConfigurationManager.AppSettings["ApiKey"], Secret ?? WebConfigurationManager.AppSettings["Secret"], ParsePermissions(RequiredPermissions), c.Controller.ControllerContext.HttpContext.Session.Contents);
                }
                else
                {
                    session = new IFrameCanvasSession(ApiKey ?? WebConfigurationManager.AppSettings["ApiKey"], Secret ?? WebConfigurationManager.AppSettings["Secret"], c.Controller.ControllerContext.HttpContext.Session.Contents);
                }
            }
            if (string.IsNullOrEmpty(session.SessionKey))
            {
                c.Result = new ContentResult {
                    Content = session.GetRedirect()
                };
            }
            else
            {
                var permissionsString = session.CheckPermissions();
                if (!string.IsNullOrEmpty(permissionsString))
                {
                    c.Result = new ContentResult {
                        Content = session.GetPermissionsRedirect(session.GetPermissionUrl(permissionsString, session.GetNextUrl()))
                    };
                }
            }
        }
示例#2
0
        public override void OnActionExecuting(ActionExecutingContext c)
        {
            CanvasSession session = null;

            if (IsFbml)
            {
                if (!string.IsNullOrEmpty(RequiredPermissions))
                {
                    session = new FBMLCanvasSession(ApiKey ?? WebConfigurationManager.AppSettings["ApiKey"], Secret ?? WebConfigurationManager.AppSettings["Secret"], ParsePermissions(RequiredPermissions));
                }
                else
                {
                    session = new FBMLCanvasSession(ApiKey ?? WebConfigurationManager.AppSettings["ApiKey"], Secret ?? WebConfigurationManager.AppSettings["Secret"]);
                }
            }
            else
            {
                if (!string.IsNullOrEmpty(RequiredPermissions))
                {
                    session = new IFrameCanvasSession(ApiKey ?? WebConfigurationManager.AppSettings["ApiKey"], Secret ?? WebConfigurationManager.AppSettings["Secret"], ParsePermissions(RequiredPermissions));
                }
                else
                {
                    session = new IFrameCanvasSession(ApiKey ?? WebConfigurationManager.AppSettings["ApiKey"], Secret ?? WebConfigurationManager.AppSettings["Secret"]);
                }
            }
            if (string.IsNullOrEmpty(session.SessionKey))
            {
                c.Result = new ContentResult {
                    Content = session.GetRedirect()
                };
            }
            else
            {
                var permissionsString = session.CheckPermissions();
                if (!string.IsNullOrEmpty(permissionsString))
                {
                    c.Result = new ContentResult {
                        Content = session.GetPermissionsRedirect(session.GetPermissionUrl(permissionsString, session.GetNextUrl()))
                    };
                }
            }
        }
示例#3
0
        public static Api GetApi(this Controller controller)
        {
            FBMLCanvasSession session = new FBMLCanvasSession(WebConfigurationManager.AppSettings["ApiKey"], WebConfigurationManager.AppSettings["Secret"]);

            return(new Api(session));
        }