public static ParagoServiceApplication Create(string name, ParagoService service, SPIisWebServiceApplicationPool applicationPool)
        {
            if (null == name)
            {
                throw new ArgumentNullException("name");
            }
            if (null == service)
            {
                throw new ArgumentNullException("service");
            }
            if (null == applicationPool)
            {
                throw new ArgumentNullException("applicationPool");
            }

            ParagoServiceApplication serviceApplication = new ParagoServiceApplication(name, service, applicationPool);

            serviceApplication.Update();

            serviceApplication.AddServiceEndpoint("http", SPIisWebServiceBindingType.Http);
            serviceApplication.AddServiceEndpoint("https", SPIisWebServiceBindingType.Https, "secure");

            // NOTE: It seems redundant, but update needs to be called before AND after the endpoint gets provisioned.
            serviceApplication.Update();

            return(serviceApplication);
        }
Beispiel #2
0
        public static bool HasUserReadPermissionForCurrentPage(ParagoServiceApplication serviceApplication)
        {
            if (serviceApplication == null)
            {
                return(false);
            }

            if (!SPFarm.Local.CurrentUserIsAdministrator())
            {
                if ((!serviceApplication.CheckCentralAdministrationRights(SPCentralAdministrationRights.Read) && !serviceApplication.CheckCentralAdministrationRights(SPCentralAdministrationRights.Write)) && (!serviceApplication.CheckCentralAdministrationRights(SPCentralAdministrationRights.None | SPCentralAdministrationRights.ChangePermissions) && !serviceApplication.CheckCentralAdministrationRights(~SPCentralAdministrationRights.None)))
                {
                    return(false);
                }
            }

            return(true);
        }
        public static ParagoServiceApplicationProxy GetServiceApplicationProxy(string applicationName)
        {
            ParagoServiceApplication application = GetServiceApplication(applicationName);

            if (application != null)
            {
                ParagoServiceProxy serviceProxy = ParagoServiceProxy.Local;

                if (serviceProxy != null)
                {
                    foreach (ParagoServiceApplicationProxy serviceApplicationProxy in serviceProxy.ApplicationProxies)
                    {
                        if (serviceApplicationProxy.Name == application.Name)
                        {
                            return(serviceApplicationProxy);
                        }
                    }
                }
            }

            return(null);
        }
        public SPServiceApplication CreateApplication(string name, Type serviceApplicationType, SPServiceProvisioningContext provisioningContext)
        {
            if (provisioningContext == null)
            {
                throw new ArgumentNullException("provisioningContext");
            }

            if (serviceApplicationType != typeof(ParagoServiceApplication))
            {
                throw new NotSupportedException();
            }

            // Ensure this is re-entrant; check if an application already exists
            ParagoServiceApplication serviceApplication = Farm.GetObject(name, Id, serviceApplicationType) as ParagoServiceApplication;

            if (serviceApplication == null)
            {
                serviceApplication = ParagoServiceApplication.Create(name, this, provisioningContext.IisWebServiceApplicationPool);
            }

            return(serviceApplication);
        }