J'ai créé une application web ASP.NET 4.5.2. Récemment, j'ai implémenté l'authentification et l'autorisation de formulaire basé sur le rôle en suivant l'article this.Est-il possible d'avoir une authentification de formulaire basée sur un rôle ASP.NET et une autorisation sans web.sitemap?
Dans cet article, l'auteur a utilisé un fichier web.sitemap
. Voici le fichier web.sitemap j'ai fait en suivant l'article:
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="~/Home.aspx" title="Home" description="Home Page">
<siteMapNode url="" title="Patients and Physician" description="Patient and Physician Details">
<siteMapNode url="~/EnrollPatient.aspx" title="Enroll Patient" description="EnrollPatient page" />
<siteMapNode url="~/EnterPatientDiagnosis.aspx" title="Enter Patient Diagnosis" description="Enter Patient Diagnosis Page" />
<siteMapNode url="ViewPatientInformation.aspx" title="View Patient Information" description="View Patient Information Page" />
<siteMapNode url="~/SearchPhysician.aspx" title="Search Physician" description="Search Physician Page" />
</siteMapNode>
<siteMapNode url="~/javascript:;" title="Admin" description="AdminPanel">
<siteMapNode url="~/Admin/AddPhysician.aspx" title="Add Physician" description="Add Physician Page" />
<siteMapNode url="~/Admin/AdminPanel.aspx" title="Admin Panel" description="User Moditification" />
</siteMapNode>
<siteMapNode url="~/" title="Login/Register" description="Login Or Register">
<siteMapNode url="~/Login.aspx" title="Login" description="Login" />
<siteMapNode url="~/Register.aspx" title="Register" description="Register" />
</siteMapNode>
</siteMapNode>
</siteMap>
Et cela fait partie de mon fichier web.config:
<system.web>
<authentication mode="Forms">
<forms defaultUrl="~/Home.aspx" loginUrl="~/login.aspx" slidingExpiration="true" timeout="2880"></forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
<siteMap enabled ="true" defaultProvider="SiteMap">
<providers>
<add name="SiteMap" type="System.Web.XmlSiteMapProvider" siteMapFile="~/Web.sitemap" securityTrimmingEnabled="true" />
</providers>
</siteMap>
<system.web>
D'après ce que j'ai trouvé sur internet que est utilisé pour remplir les éléments de contrôle <asp:Menu>
. Bien que, je n'utilise aucun contrôle <asp:Menu>
.
Ma première question est, est-ce que web.sitemap
a une influence sur l'autorisation? Avec quelques modifications dans la section <provider>
, je ne peux pas utiliser le fichier web.sitemap
?
Ma deuxième question est, qu'est-ce que ~/javascript:;
faire dans le troisième parent SiteMapNode
.