Question

Je travaille sur un destiné au public le site MOSS 2007 qui utilise la fonctionnalité ViewFormPagesLockDown pour empêcher les utilisateurs anonymes d'accéder aux formulaires de liste standard. Je ne veux pas perdre la sécurité supplémentaire cette fonctionnalité offre, mais il y a quelques listes où les utilisateurs anonymes doivent avoir accès aux formulaires.

Est-ce que je peux faire dans les paramètres de la liste, modèle de liste, ou dans le code de fonction qui arrête une liste spécifique ou sous forme d'exiger SPBasePermissions.ViewFormPages?

Était-ce utile?

La solution

Je ne pouvais pas trouver un moyen de contourner. Prise en charge de la fonction LockDown semble être cuit dans la classe de forme. Au lieu de cela, ce que nous avons fait était de créer une page séparée avec sa propre ListFormWebPart . Ce qui suit est une adaptation d'une entrée de notre blog interne où je décrit les mesures pour permettre à un utilisateur anonyme d'ajouter de nouveaux éléments à une liste:

Dans les Paramètres de la liste, accédez à Paramètres avancés. Assurez-vous que l'accès en lecture est réglé sur tous les éléments. Retour à la liste Paramètres et sélectionnez Autorisations pour cette liste. Briser l'héritage du site en sélectionnant Actions> Modifier les autorisations. Remarque: Si vous voyez une case située à gauche du nom de cette étape a déjà été fait. Une fois les autorisations personnalisées ont été définies, sélectionnez Paramètres> Accès anonyme. Ajouter des articles puis cliquez sur OK. Pour compléter l'accès anonyme retour à Paramètres> Paramètres avancés et réinitialiser pour sélectionner uniquement leur propre pour les accès en lecture et l'accès Modifier, puis cliquez sur OK.

Créer une nouvelle page à l'aide du site Actions> Créer une page. Ouvrez le site SharePoint Designer. Faites un clic droit sur la page nouvellement créée et sélectionnez Détacher de mise en page. Placez le curseur dans une zone Web Part et sélectionnez Insérer> Contrôles SharePoint> Liste personnalisée formulaire. Sélectionnez la liste appropriée et Nouveau formulaire de l'élément, puis cliquez sur OK. Dans le volet Code, changer DataSourceMode dans le DataFormWebPart nouvellement créé de ListItem à Webs. Laisser le réglage par défaut de ListItem, les utilisateurs anonymes obtenir un « accès refusé. Vous n'êtes pas autorisé à effectuer cette action ou accéder à cette ressource » erreur. Enregistrer et afficher la page dans le navigateur.

Pour de meilleurs résultats, utilisez uniquement SharePoint Designer sur un serveur de développement. Pour migrer à la production webpart, ouvrez la page sur le serveur de développement dans le navigateur, puis sélectionnez Exporter dans le menu webpart. Enregistrez le fichier webpart. Ouvrez la page sur le serveur de production dans le navigateur et sélectionnez Modifier la page d'Actions du site. Dans le menu sur la page Barre d'outils, sélectionnez Page> Ajouter des composants WebPart> Importer. Entrez l'emplacement du fichier sauvegardé du webpart serveur de développement et cliquez sur Télécharger. Ensuite, faites glisser le composant WebPart importé à partir du volet d'outils à droite dans la zone souhaitée webpart. Pour enregistrer la page, cliquez sur Publier.

Autres conseils

Une question plus mais je pensais que je voudrais ajouter une autre option que vous pouvez utiliser pour le faire.

Solution: Comme mentionné Rich pause l'héritage des autorisations sur la liste. Basculer la ViewFormPagesLockDown fonction.
Définissez les utilisateurs anonymes d'avoir accès à la liste. Basculer la fonction ViewFormPagesLockDown sur.

Les utilisateurs anonymes devraient maintenant être en mesure d'accéder aux pages d'application pour la liste uniquement.

Pourquoi: La fonction ViewFormPagesLockDown supprime les autorisations « Afficher les pages d'application » et « Utiliser les interfaces distantes » du rôle d'autorisation « accès limité ». Cependant, les utilisateurs anonymes ne ramassent pas les modifications apportées à ce rôle jusqu'à l'option pour basculer d'un accès anonyme. Cela fonctionne soit à un niveau du site ou d'une liste. Donc, si vous voulez un Web particulier ou une liste d 'avoir différents accès anonyme aux pages d'application, vous pouvez utiliser la solution ci-dessus pour changer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top