예제 #1
0
        /// <summary>
        /// Get the Identity Provider's Policy
        /// </summary>
        /// <returns>An IdentityPolicy Object</returns>
        public static IdentityPolicy GetPolicy()
        {
            IdentityPolicy idPolicy = null;
            IUserProvider  provider = User.GetRegisteredProvider();

            if (provider != null)
            {
                UserProviderCaps caps = provider.GetCapabilities();
                if (caps != null)
                {
                    idPolicy = new IdentityPolicy();
                    if (Simias.Service.Manager.LdapServiceEnabled == true)
                    {
                        idPolicy.CanCreate          = false;
                        idPolicy.CanDelete          = false;
                        idPolicy.CanModify          = false;
                        idPolicy.ExternalIdentities = true;
                        idPolicy.Name        = provider.Name;
                        idPolicy.Description = provider.Description;
                    }
                    else
                    {
                        idPolicy.CanCreate          = caps.CanCreate;
                        idPolicy.CanDelete          = caps.CanDelete;
                        idPolicy.CanModify          = caps.CanModify;
                        idPolicy.ExternalIdentities = caps.ExternalSync;
                        idPolicy.Name        = provider.Name;
                        idPolicy.Description = provider.Description;
                    }
                }
            }

            return(idPolicy);
        }
예제 #2
0
        /// <summary>
        /// Method to retrieve the capabilities of a user identity
        /// provider.
        /// </summary>
        /// <returns>providers capabilities</returns>
        public UserProviderCaps GetCapabilities()
        {
            UserProviderCaps caps = new UserProviderCaps();

            caps.CanCreate    = false;
            caps.CanDelete    = false;
            caps.CanModify    = false;
            caps.ExternalSync = true;

            return(caps);
        }
예제 #3
0
        /// <summary>
        /// Generate Sample Data
        /// </summary>
        public static void Generate()
        {
            // support only non-external user providers
            IUserProvider    provider = Simias.Server.User.GetRegisteredProvider();
            UserProviderCaps caps     = provider.GetCapabilities();

            if (caps.ExternalSync)
            {
                throw new ApplicationException("External User Providers Are Not Supported");
            }
            if (!caps.CanCreate)
            {
                throw new ApplicationException("Provider Does Not Support User Creation");
            }

            // spin thread
            Thread t = new Thread(new ThreadStart(Start));

            t.IsBackground = true;
            t.Start();
        }