Example #1
0
        private static void AddReaderAccessImplementation(Web web, BuiltInIdentity user)
        {
            switch (user)
            {
            case BuiltInIdentity.Everyone:
            {
                string userIdentity = "c:0(.s|true";
                var    spReader     = web.EnsureUser(userIdentity);
                web.Context.Load(spReader);
                web.Context.ExecuteQuery();

                web.AssociatedVisitorGroup.Users.AddUser(spReader);
                web.AssociatedVisitorGroup.Update();
                web.Context.ExecuteQuery();
                break;
            }

            case BuiltInIdentity.EveryoneButExternalUsers:
            {
                string userIdentity = string.Format("c:0-.f|rolemanager|spo-grid-all-users/{0}", web.GetAuthenticationRealm());
                var    spReader     = web.EnsureUser(userIdentity);
                web.Context.Load(spReader);
                web.Context.ExecuteQuery();

                web.AssociatedVisitorGroup.Users.AddUser(spReader);
                web.AssociatedVisitorGroup.Update();
                web.Context.ExecuteQuery();
                break;
            }
            }
        }
Example #2
0
        private static void AddReaderAccessImplementation(Web web, BuiltInIdentity user)
        {
            switch (user)
            {
                case BuiltInIdentity.Everyone:
                    {
                        string userIdentity = "c:0(.s|true";
                        var spReader = web.EnsureUser(userIdentity);
                        web.Context.Load(spReader);
                        web.Context.ExecuteQuery();

                        web.AssociatedVisitorGroup.Users.AddUser(spReader);
                        web.AssociatedVisitorGroup.Update();
                        web.Context.ExecuteQuery();
                        break;
                    }
                case BuiltInIdentity.EveryoneButExternalUsers:
                    {
                        string userIdentity = string.Format("c:0-.f|rolemanager|spo-grid-all-users/{0}", web.GetAuthenticationRealm());
                        var spReader = web.EnsureUser(userIdentity);
                        web.Context.Load(spReader);
                        web.Context.ExecuteQuery();

                        web.AssociatedVisitorGroup.Users.AddUser(spReader);
                        web.AssociatedVisitorGroup.Update();
                        web.Context.ExecuteQuery();
                        break;
                    }
            }
        }
Example #3
0
 /// <summary>
 /// Add read access to the group "Everyone except external users".
 /// </summary>
 /// <param name="web">Site to be processed - can be root web or sub site</param>
 /// <param name="user">Built in user to add to the visitors group</param>
 public static void AddReaderAccess(this Web web, BuiltInIdentity user)
 {
     AddReaderAccessImplementation(web, user);
 }
        private static User AddReaderAccessImplementation(Web web, BuiltInIdentity user)
        {
            switch (user)
            {
                case BuiltInIdentity.Everyone:
                    {
                        const string userIdentity = "c:0(.s|true";
                        User spReader = web.EnsureUser(userIdentity);
                        web.Context.Load(spReader);
                        web.Context.ExecuteQueryRetry();

                        web.AssociatedVisitorGroup.Users.AddUser(spReader);
                        web.AssociatedVisitorGroup.Update();
                        web.Context.ExecuteQueryRetry();
                        return spReader;
                    }
                case BuiltInIdentity.EveryoneButExternalUsers:
                    {
                        User spReader = null;
                        try
                        {
                            // New tenant
                            string userIdentity = string.Format("c:0-.f|rolemanager|spo-grid-all-users/{0}", web.GetAuthenticationRealm());
                            spReader = web.EnsureUser(userIdentity);
                            web.Context.Load(spReader);
                            web.Context.ExecuteQueryRetry();
                        }
                        catch (ServerException)
                        {
                            // old tenant?
                            string userIdentity = string.Empty;

                            web.Context.Load(web, w => w.Language);
                            web.Context.ExecuteQueryRetry();

                            switch (web.Language)
                            {
                                case 1025: // Arabic
                                    userIdentity = "الجميع باستثناء المستخدمين الخارجيين";
                                    break;
                                case 1069: // Basque
                                    userIdentity = "Guztiak kanpoko erabiltzaileak izan ezik";
                                    break;
                                case 1026: // Bulgarian
                                    userIdentity = "Всички освен външни потребители";
                                    break;
                                case 1027: // Catalan
                                    userIdentity = "Tothom excepte els usuaris externs";
                                    break;
                                case 2052: // Chinese (Simplified)
                                    userIdentity = "除外部用户外的任何人";
                                    break;
                                case 1028: // Chinese (Traditional)
                                    userIdentity = "外部使用者以外的所有人";
                                    break;
                                case 1050: // Croatian
                                    userIdentity = "Svi osim vanjskih korisnika";
                                    break;
                                case 1029: // Czech
                                    userIdentity = "Všichni kromě externích uživatelů";
                                    break;
                                case 1030: // Danish
                                    userIdentity = "Alle undtagen eksterne brugere";
                                    break;
                                case 1043: // Dutch
                                    userIdentity = "Iedereen behalve externe gebruikers";
                                    break;
                                case 1033: // English
                                    userIdentity = "Everyone except external users";
                                    break;
                                case 1061: // Estonian
                                    userIdentity = "Kõik peale väliskasutajate";
                                    break;
                                case 1035: // Finnish
                                    userIdentity = "Kaikki paitsi ulkoiset käyttäjät";
                                    break;
                                case 1036: // French
                                    userIdentity = "Tout le monde sauf les utilisateurs externes";
                                    break;
                                case 1110: // Galician
                                    userIdentity = "Todo o mundo excepto os usuarios externos";
                                    break;
                                case 1031: // German
                                    userIdentity = "Jeder, außer externen Benutzern";
                                    break;
                                case 1032: // Greek
                                    userIdentity = "Όλοι εκτός από εξωτερικούς χρήστες";
                                    break;
                                case 1037: // Hebrew
                                    userIdentity = "כולם פרט למשתמשים חיצוניים";
                                    break;
                                case 1081: // Hindi
                                    userIdentity = "बाह्य उपयोगकर्ताओं को छोड़कर सभी";
                                    break;
                                case 1038: // Hungarian
                                    userIdentity = "Mindenki, kivéve külső felhasználók";
                                    break;
                                case 1057: // Indonesian
                                    userIdentity = "Semua orang kecuali pengguna eksternal";
                                    break;
                                case 1040: // Italian
                                    userIdentity = "Tutti tranne gli utenti esterni";
                                    break;
                                case 1041: // Japanese
                                    userIdentity = "外部ユーザー以外のすべてのユーザー";
                                    break;
                                case 1087: // Kazakh
                                    userIdentity = "Сыртқы пайдаланушылардан басқасының барлығы";
                                    break;
                                case 1042: // Korean
                                    userIdentity = "외부 사용자를 제외한 모든 사람";
                                    break;
                                case 1062: // Latvian
                                    userIdentity = "Visi, izņemot ārējos lietotājus";
                                    break;
                                case 1063: // Lithuanian
                                    userIdentity = "Visi, išskyrus išorinius vartotojus";
                                    break;
                                case 1086: // Malay
                                    userIdentity = "Semua orang kecuali pengguna luaran";
                                    break;
                                case 1044: // Norwegian (Bokmål)
                                    userIdentity = "Alle bortsett fra eksterne brukere";
                                    break;
                                case 1045: // Polish
                                    userIdentity = "Wszyscy oprócz użytkowników zewnętrznych";
                                    break;
                                case 1046: // Portuguese (Brazil)
                                    userIdentity = "Todos exceto os usuários externos";
                                    break;
                                case 2070: // Portuguese (Portugal)
                                    userIdentity = "Todos exceto os utilizadores externos";
                                    break;
                                case 1048: // Romanian
                                    userIdentity = "Toată lumea, cu excepția utilizatorilor externi";
                                    break;
                                case 1049: // Russian
                                    userIdentity = "Все, кроме внешних пользователей";
                                    break;
                                case 10266: // Serbian (Cyrillic, Serbia)
                                    userIdentity = "Сви осим спољних корисника";
                                    break;
                                case 2074:// Serbian (Latin)
                                    userIdentity = "Svi osim spoljnih korisnika";
                                    break;
                                case 1051:// Slovak
                                    userIdentity = "Všetci okrem externých používateľov";
                                    break;
                                case 1060: // Slovenian
                                    userIdentity = "Vsi razen zunanji uporabniki";
                                    break;
                                case 3082: // Spanish
                                    userIdentity = "Todos excepto los usuarios externos";
                                    break;
                                case 1053: // Swedish
                                    userIdentity = "Alla utom externa användare";
                                    break;
                                case 1054: // Thai
                                    userIdentity = "ทุกคนยกเว้นผู้ใช้ภายนอก";
                                    break;
                                case 1055: // Turkish
                                    userIdentity = "Dış kullanıcılar hariç herkes";
                                    break;
                                case 1058: // Ukranian
                                    userIdentity = "Усі, крім зовнішніх користувачів";
                                    break;
                                case 1066: // Vietnamese
                                    userIdentity = "Tất cả mọi người trừ người dùng bên ngoài";
                                    break;
                            }
                            if (!string.IsNullOrEmpty(userIdentity))
                            {
                                spReader = web.EnsureUser(userIdentity);
                                web.Context.Load(spReader);
                                web.Context.ExecuteQueryRetry();
                            }
                            else
                            {
                                throw new Exception("Language currently not supported");
                            }
                        }
                        web.AssociatedVisitorGroup.Users.AddUser(spReader);
                        web.AssociatedVisitorGroup.Update();
                        web.Context.ExecuteQueryRetry();
                        return spReader;
                    }
            }

            return null;
        }
 /// <summary>
 /// Add read access to the group "Everyone except external users".
 /// </summary>
 /// <param name="web">Site to be processed - can be root web or sub site</param>
 /// <param name="user">Built in user to add to the visitors group</param>
 public static User AddReaderAccess(this Web web, BuiltInIdentity user)
 {
     return AddReaderAccessImplementation(web, user);
 }
Example #6
0
        private static User AddReaderAccessImplementation(Web web, BuiltInIdentity user)
        {
            switch (user)
            {
            case BuiltInIdentity.Everyone:
            {
                const string userIdentity = "c:0(.s|true";
                User         spReader     = web.EnsureUser(userIdentity);
                web.Context.Load(spReader);
                web.Context.ExecuteQueryRetry();

                web.AssociatedVisitorGroup.Users.AddUser(spReader);
                web.AssociatedVisitorGroup.Update();
                web.Context.ExecuteQueryRetry();
                return(spReader);
            }

            case BuiltInIdentity.EveryoneButExternalUsers:
            {
                User spReader = null;
                try
                {
                    // New tenant
                    string userIdentity = string.Format("c:0-.f|rolemanager|spo-grid-all-users/{0}", web.GetAuthenticationRealm());
                    spReader = web.EnsureUser(userIdentity);
                    web.Context.Load(spReader);
                    web.Context.ExecuteQueryRetry();
                }
                catch (ServerException)
                {
                    // old tenant?
                    string userIdentity = string.Empty;

                    web.Context.Load(web, w => w.Language);
                    web.Context.ExecuteQueryRetry();

                    switch (web.Language)
                    {
                    case 1025:             // Arabic
                        userIdentity = "الجميع باستثناء المستخدمين الخارجيين";
                        break;

                    case 1069:             // Basque
                        userIdentity = "Guztiak kanpoko erabiltzaileak izan ezik";
                        break;

                    case 1026:             // Bulgarian
                        userIdentity = "Всички освен външни потребители";
                        break;

                    case 1027:             // Catalan
                        userIdentity = "Tothom excepte els usuaris externs";
                        break;

                    case 2052:             // Chinese (Simplified)
                        userIdentity = "除外部用户外的任何人";
                        break;

                    case 1028:             // Chinese (Traditional)
                        userIdentity = "外部使用者以外的所有人";
                        break;

                    case 1050:             // Croatian
                        userIdentity = "Svi osim vanjskih korisnika";
                        break;

                    case 1029:             // Czech
                        userIdentity = "Všichni kromě externích uživatelů";
                        break;

                    case 1030:             // Danish
                        userIdentity = "Alle undtagen eksterne brugere";
                        break;

                    case 1043:             // Dutch
                        userIdentity = "Iedereen behalve externe gebruikers";
                        break;

                    case 1033:             // English
                        userIdentity = "Everyone except external users";
                        break;

                    case 1061:             // Estonian
                        userIdentity = "Kõik peale väliskasutajate";
                        break;

                    case 1035:             // Finnish
                        userIdentity = "Kaikki paitsi ulkoiset käyttäjät";
                        break;

                    case 1036:             // French
                        userIdentity = "Tout le monde sauf les utilisateurs externes";
                        break;

                    case 1110:             // Galician
                        userIdentity = "Todo o mundo excepto os usuarios externos";
                        break;

                    case 1031:             // German
                        userIdentity = "Jeder, außer externen Benutzern";
                        break;

                    case 1032:             // Greek
                        userIdentity = "Όλοι εκτός από εξωτερικούς χρήστες";
                        break;

                    case 1037:             // Hebrew
                        userIdentity = "כולם פרט למשתמשים חיצוניים";
                        break;

                    case 1081:             // Hindi
                        userIdentity = "बाह्य उपयोगकर्ताओं को छोड़कर सभी";
                        break;

                    case 1038:             // Hungarian
                        userIdentity = "Mindenki, kivéve külső felhasználók";
                        break;

                    case 1057:             // Indonesian
                        userIdentity = "Semua orang kecuali pengguna eksternal";
                        break;

                    case 1040:             // Italian
                        userIdentity = "Tutti tranne gli utenti esterni";
                        break;

                    case 1041:             // Japanese
                        userIdentity = "外部ユーザー以外のすべてのユーザー";
                        break;

                    case 1087:             // Kazakh
                        userIdentity = "Сыртқы пайдаланушылардан басқасының барлығы";
                        break;

                    case 1042:             // Korean
                        userIdentity = "외부 사용자를 제외한 모든 사람";
                        break;

                    case 1062:             // Latvian
                        userIdentity = "Visi, izņemot ārējos lietotājus";
                        break;

                    case 1063:             // Lithuanian
                        userIdentity = "Visi, išskyrus išorinius vartotojus";
                        break;

                    case 1086:             // Malay
                        userIdentity = "Semua orang kecuali pengguna luaran";
                        break;

                    case 1044:             // Norwegian (Bokmål)
                        userIdentity = "Alle bortsett fra eksterne brukere";
                        break;

                    case 1045:             // Polish
                        userIdentity = "Wszyscy oprócz użytkowników zewnętrznych";
                        break;

                    case 1046:             // Portuguese (Brazil)
                        userIdentity = "Todos exceto os usuários externos";
                        break;

                    case 2070:             // Portuguese (Portugal)
                        userIdentity = "Todos exceto os utilizadores externos";
                        break;

                    case 1048:             // Romanian
                        userIdentity = "Toată lumea, cu excepția utilizatorilor externi";
                        break;

                    case 1049:             // Russian
                        userIdentity = "Все, кроме внешних пользователей";
                        break;

                    case 10266:             // Serbian (Cyrillic, Serbia)
                        userIdentity = "Сви осим спољних корисника";
                        break;

                    case 2074:            // Serbian (Latin)
                        userIdentity = "Svi osim spoljnih korisnika";
                        break;

                    case 1051:            // Slovak
                        userIdentity = "Všetci okrem externých používateľov";
                        break;

                    case 1060:             // Slovenian
                        userIdentity = "Vsi razen zunanji uporabniki";
                        break;

                    case 3082:             // Spanish
                        userIdentity = "Todos excepto los usuarios externos";
                        break;

                    case 1053:             // Swedish
                        userIdentity = "Alla utom externa användare";
                        break;

                    case 1054:             // Thai
                        userIdentity = "ทุกคนยกเว้นผู้ใช้ภายนอก";
                        break;

                    case 1055:             // Turkish
                        userIdentity = "Dış kullanıcılar hariç herkes";
                        break;

                    case 1058:             // Ukranian
                        userIdentity = "Усі, крім зовнішніх користувачів";
                        break;

                    case 1066:             // Vietnamese
                        userIdentity = "Tất cả mọi người trừ người dùng bên ngoài";
                        break;
                    }
                    if (!string.IsNullOrEmpty(userIdentity))
                    {
                        spReader = web.EnsureUser(userIdentity);
                        web.Context.Load(spReader);
                        web.Context.ExecuteQueryRetry();
                    }
                    else
                    {
                        throw new Exception("Language currently not supported");
                    }
                }
                web.AssociatedVisitorGroup.Users.AddUser(spReader);
                web.AssociatedVisitorGroup.Update();
                web.Context.ExecuteQueryRetry();
                return(spReader);
            }
            }

            return(null);
        }
Example #7
0
 /// <summary>
 /// Add read access to the group "Everyone except external users".
 /// </summary>
 /// <param name="web">Site to be processed - can be root web or sub site</param>
 /// <param name="user">Built in user to add to the visitors group</param>
 public static User AddReaderAccess(this Web web, BuiltInIdentity user)
 {
     return(AddReaderAccessImplementation(web, user));
 }
Example #8
0
 public void Add(ClientContext ctx, Site site, BuiltInIdentity identity)
 {
 }
Example #9
0
 /// <summary>
 /// Add read access to the group "Everyone except external users".
 /// </summary>
 /// <param name="web">Site to be processed - can be root web or sub site</param>
 /// <param name="user">Built in user to add to the visitors group</param>
 public static void AddReaderAccess(this Web web, BuiltInIdentity user)
 {
     AddReaderAccessImplementation(web, user);
 }
Example #10
0
        public void Add(ClientContext ctx, Site site, BuiltInIdentity identity)
        {

        }