Existe-t-il un moyen de déterminer par programme si une application Web SharePoint 2007 utilise l'authentification par formulaires? Je suppose que l'une des façons pourrait être de le lire depuis le web.config mais je me demandais s'il y avait des propriétés exposées dans l'API.Déterminer par programme le mode d'authentification
Répondre
Jetez un oeil à la façon dont il le fait dans /_admin/Authentication.aspx Central Admin:
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
string g = base.Request.QueryString["WebAppId"];
this.webApp = (SPWebApplication) SPConfigurationDatabase.Local.GetObject(new Guid(g));
this.zone = (SPUrlZone) Enum.Parse(typeof(SPUrlZone), base.Request.QueryString["Zone"]);
this.lb_Zone.Text = SPHttpUtility.HtmlEncode(SPAlternateUrl.GetZoneName(this.zone));
SPIisSettings iisSettings = this.webApp.IisSettings[this.zone];
// CODE ELIDED
if (AuthenticationMode.Windows != iisSettings.AuthenticationMode)
{
if (AuthenticationMode.Forms != iisSettings.AuthenticationMode)
{
// CODE ELIDED
}
else
{
this.rdo_authForms.Checked = true;
}
// CODE ELIDED
}
}
La partie qui vous intéresse est l'endroit où il utilise iisSettings.AuthenticationMode pour déterminer si elle est ou non Forms Auth . L'astuce consiste donc à obtenir correctement une référence à SPIisSettings qui est pertinente pour votre webapp et votre zone. Arriver à ce point est où tout le travail doit être fait.
Vous devez paramétrer les parties de ce code afin que les informations pour identifier et obtenir des références à la WebApp et la zone sont transmis.
Voir où il attribue his.rdo_authForms.Checked? C'est comme ça que vous savez si vous utilisez des formulaires auth.
En outre, cela signifie que vous avez besoin de savoir quelle zone de l'application Web que vous êtes à la recherche pour voir si l'authentification par formulaire est activée
En utilisant la réponse de Jon Schoning, je suis venu avec le code suivant pour déterminer si la le mode d'authentification actuel est des formulaires:
if (SPContext.Current.Site.WebApplication.IisSettings[SPContext.Current.Site.Zone].AuthenticationMode == System.Web.Configuration.AuthenticationMode.Forms) { ... }
- 1. Activer le mode avion par programme?
- 2. Déterminer par programme si le système prend en charge le mode veille
- 3. Déterminer par programme la configuration active
- 4. Définir par programme le délai d'attente WCF en mode débogage
- 5. Modifier le mode de connexion Internet de l'iPhone par programme
- 6. Comment déterminer le nom de programme par exemple CKEditor
- 7. Déterminer par programme le statut de fragmentation d'un fichier
- 8. Déterminer par programme le nom de colonne des contrôles GridView?
- 9. Comment déterminer le mode couleur d'une image téléchargée dans ASP.Net
- 10. déterminer si le module python est installé ou en mode développement par programmation
- 11. Déterminer par programme quel thread Java contient un verrou
- 12. comment déterminer par programme les rôles maître/esclave Bluetooth?
- 13. Comment déterminer par programme quels PowerShell snapin sont installés
- 14. Comment déterminer par programme la racine du document en PHP?
- 15. BlackBerry - Afficher l'indicateur de mode de frappe par programme
- 16. Mettre GridView en mode d'édition par programme avec ASP MERMERSHIP
- 17. WPF DataGrid - Définir une cellule en mode d'édition par programme
- 18. Ouvrir MS Word en mode de comparaison par programme
- 19. Détecter par programme si je suis en mode transparent VirtualBox
- 20. Comment puis-je déterminer par programme mon type de processeur?
- 21. Déterminer par programme les dimensions des fichiers image en bundle
- 22. Comment déterminer par programme les applications audio installées sur Android
- 23. Déterminer la taille des Espaces de travail Groove par programme?
- 24. Comment déterminer par programme si le projet d'équipe a configuré le portail sharepoint?
- 25. comment changer le profil blackberry par programme?
- 26. Le programme d'installation de Windows peut-il par défaut être un programme pour utiliser le mode de compatibilité XP?
- 27. Contrôler le profilage TPTP par programme
- 28. Afficher le menu contextuel du contrôleur racine en mode portrait par programme
- 29. par programme de détection de sortie/le mode de débogage (NET)
- 30. Comment puis-je déterminer par programme le créateur d'une base de données Domino?