Site map and roles

Discussion in 'ASP.NET / ASP.NET Core' started by wisemx, Jun 1, 2008.

  1. OK two things right off the top...

    This is the way to use the location path element:

     
  2. I experience a log in mess each time I use the credentials of an authorised role, I have 2 roles defined in my application but all the links in my menu are displayed regardless of the roles I specify. Here is my sitemap and web.config file, can anyone help?


    Here is my site map file:



    <siteMap xmlns='http://schemas.microsoft.com/AspNet/SiteMap-File-1.0' >

    <siteMapNode title='Home' description='Starting page' url='~/Default.aspx' >

    <siteMapNode title='Search Products/Items' description='Search Products/Items' url='~/All_Products_Items.aspx' >
    <siteMapNode title='Search By Date' description='Search Date' url='~/Search_Date.aspx' />
    <siteMapNode title='Search All Stores' description='Search Stores' url='~/Search_Stores.aspx' />

    </siteMapNode>

    <siteMapNode title='Administer Records' description='Manage Records' url='~/Administer_Records.aspx' >
    <siteMapNode title='Administer Stores' description='Manage Stores' url='~/Stores.aspx' />
    <siteMapNode title='Search Products/Items' description='Search Products/Items' url='~/All_Products_Items2.aspx' />
    <siteMapNode title='Search By Date' description='Search Date' url='~/Search_Date2.aspx' />
    <siteMapNode title='Search All Stores' description='Search Stores' url='~/Search_Stores2.aspx' />

    </siteMapNode>

    </siteMapNode>

    </siteMap>

    and here is my web.config file:


    <configuration>
    <configSections>
    <sectionGroup name='system.web.extensions' type='System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35'>
    <sectionGroup name='scripting' type='System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35'>
    <section name='scriptResourceHandler' type='System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35' requirePermission='false' allowDefinition='MachineToApplication'/>
    <sectionGroup name='webServices' type='System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35'>
    <section name='jsonSerialization' type='System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35' requirePermission='false' allowDefinition='Everywhere'/>
    <section name='profileService' type='System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35' requirePermission='false' allowDefinition='MachineToApplication'/>
    <section name='authenticationService' type='System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35' requirePermission='false' allowDefinition='MachineToApplication'/>
    <section name='roleService' type='System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35' requirePermission='false' allowDefinition='MachineToApplication'/>
    </sectionGroup>
    </sectionGroup>
    </sectionGroup>
    </configSections>

    <location path='All_Products_Items.aspx'>
    <system.web>
    <authorization>
    <allow roles='DiconRead'/>
    <deny users='*'/>
    </authorization>
    </system.web>
    </location>
    <location path='Search_Date.aspx'>
    <system.web>
    <authorization>
    <allow roles='DiconRead'/>
    <deny users='*'/>
    </authorization>
    </system.web>
    </location>
    <location path='Search_Stores.aspx'>
    <system.web>
    <authorization>
    <allow roles='DiconRead'/>
    <deny users='*'/>
    </authorization>
    </system.web>
    </location>
    <location path='Administer_Records.aspx'>
    <system.web>
    <authorization>
    <allow roles='DiconWrite'/>
    <deny users='*'/>
    </authorization>
    </system.web>
    </location>
    <location path='Stores.aspx'>
    <system.web>
    <authorization>
    <allow roles='DiconWrite'/>
    <deny users='*'/>
    </authorization>
    </system.web>
    </location>
    <location path='All_Products_Items2.aspx'>
    <system.web>
    <authorization>
    <allow roles='DiconWrite'/>
    <deny users='*'/>
    </authorization>
    </system.web>
    </location>
    <location path='Search_Date2.aspx'>
    <system.web>
    <authorization>
    <allow roles='DiconWrite'/>
    <deny users='*'/>
    </authorization>
    </system.web>
    </location>
    <location path='Search_Stores2.aspx'>
    <system.web>
    <authorization>
    <allow roles='DiconWrite'/>
    <deny users='*'/>
    </authorization>
    </system.web>
    </location>

    <connectionStrings>
    <clear/>
    <remove name='LocalSqlServer'/>
    <add name='LocalSqlServer' connectionString='Data Source=tcp:sql2k506.discountasp.net;Initial Catalog=SQL2005_489160_romiwa;User ID=SQL2005_489160_romiwa_user;Password=*******;' providerName='System.Data.SqlClient' />
    </connectionStrings>

    <!--<connectionStrings>
    <add name='DiconConnectionString' connectionString='Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DIC.mdf;Integrated Security=True;User Instance=True' providerName='System.Data.SqlClient' />
    </connectionStrings>-->
    <system.web>
    <!--
    Set compilation debug='true' to insert debugging
    symbols into the compiled page. Because this
    affects performance, set this value to true only
    during development.
    -->
    <authentication mode='Forms' />
    <roleManager enabled='true' cacheRolesInCookie='true' defaultProvider='CustomizedRoleProvider'>
    <providers>
    <add connectionStringName='LocalSqlServer' name='CustomizedRoleProvider'
    type='System.Web.Security.SqlRoleProvider' />
    </providers>
    </roleManager>
    <compilation>
    <assemblies>
    <add assembly='System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089' />
    <add assembly='System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35' />
    <add assembly='System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089' />
    <add assembly='System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089' />
    </assemblies>
    </compilation>
    <!--
    The <authentication> section enables configuration
    of the security authentication mode used by
    ASP.NET to identify an incoming user. -->


    <!--
    The <customErrors> section enables configuration
    of what to do if/when an unhandled error occurs
    during the execution of a request. Specifically,
    it enables developers to configure html error pages
    to be displayed in place of a error stack trace. -->
    <!--
    <customErrors mode='RemoteOnly' defaultRedirect='GenericErrorPage.htm'>
    <error statusCode='403' redirect='NoAccess.htm' />
    <error statusCode='404' redirect='FileNotFound.htm' />
    </customErrors>
    -->

    <pages>
    <controls>
    <add tagPrefix='asp' namespace='System.Web.UI' assembly='System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35'/>
    <add tagPrefix='asp' namespace='System.Web.UI.WebControls' assembly='System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35'/>
    </controls>
    </pages>

    <membership defaultProvider='CustomizedMembershipProvider' >
    <providers>
    <add name='CustomizedMembershipProvider' type='System.Web.Security.SqlMembershipProvider' connectionStringName='LocalSqlServer' applicationName='Dicon' minRequiredPasswordLength='7' minRequiredNonalphanumericCharacters='0' passwordStrengthRegularExpression=''/>
    </providers>
    </membership>

    <siteMap defaultProvider='XmlSiteMapProvider' enabled='true'>
    <providers>
    <add name='XmlSiteMapProvider' description='Default SiteMap provider.' type='System.Web.XmlSiteMapProvider ' siteMapFile='Web.sitemap' securityTrimmingEnabled='true'/>
    </providers>
    </siteMap>

    <httpHandlers>
    <remove verb='*' path='*.asmx'/>
    <add verb='*' path='*.asmx' validate='false' type='System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35'/>
    <add verb='*' path='*_AppService.axd' validate='false' type='System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35'/>
    <add verb='GET,HEAD' path='ScriptResource.axd' type='System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35' validate='false'/>
    </httpHandlers>
    <httpModules>
    <add name='ScriptModule' type='System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35'/>
    </httpModules>
    </system.web>
    <system.codedom>
    <compilers>
    <compiler language='c#;cs;csharp' extension='.cs' warningLevel='4' type='Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'>
    <providerOption name='CompilerVersion' value='v3.5'/>
    <providerOption name='WarnAsError' value='false'/>
    </compiler>
    <compiler language='vb;vbs;visualbasic;vbscript' extension='.vb' warningLevel='4' type='Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'>
    <providerOption name='CompilerVersion' value='v3.5'/>
    <providerOption name='OptionInfer' value='true'/>
    <providerOption name='WarnAsError' value='false'/>
    </compiler>
    </compilers>
    </system.codedom>
    <!--
    The system.webServer section is required for running ASP.NET AJAX under Internet
    Information Services 7.0. It is not necessary for previous version of IIS.
    -->
    <system.webServer>
    <validation validateIntegratedModeConfiguration='false'/>
    <modules>
    <remove name='ScriptModule'/>
    <add name='ScriptModule' preCondition='managedHandler' type='System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35'/>
    </modules>
    <handlers>
    <remove name='WebServiceHandlerFactory-Integrated'/>
    <remove name='ScriptHandlerFactory'/>
    <remove name='ScriptHandlerFactoryAppServices'/>
    <remove name='ScriptResource'/>
    <add name='ScriptHandlerFactory' verb='*' path='*.asmx' preCondition='integratedMode' type='System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35'/>
    <add name='ScriptHandlerFactoryAppServices' verb='*' path='*_AppService.axd' preCondition='integratedMode' type='System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35'/>
    <add name='ScriptResource' preCondition='integratedMode' verb='GET,HEAD' path='ScriptResource.axd' type='System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35'/>
    </handlers>
    </system.webServer>
    <runtime>
    <assemblyBinding xmlns='urn:schemas-microsoft-com:asm.v1'>
    <dependentAssembly>
    <assemblyIdentity name='System.Web.Extensions' publicKeyToken='31bf3856ad364e35'/>

    </dependentAssembly>
    <dependentAssembly>
    <assemblyIdentity name='System.Web.Extensions.Design' publicKeyToken='31bf3856ad364e35'/>

    </dependentAssembly>
    </assemblyBinding>
    </runtime>
    </configuration>

    Post Edited (Dipset) : 6/1/2008 1:41:13 PM GMT
     

Share This Page