Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeUsing DNN Platf...Using DNN Platf...Administration ...Administration ...Role Manager Changes 4.3.3Role Manager Changes 4.3.3
Previous
 
Next
New Post
8/3/2006 3:51 PM
 
After upgrading from 4.0.2 to 4.3.3 I noticed I was no longer able to access role membership information using the apis.  I have used both the locations functionality and asp.net user management apis to implement a number of utilities ontop of the dnn web application using a variety of techniques (duct taped asp.net, com based, ajax(dojo), and conventional asp together).  I have provided a censored version of my web.config and a description/simple example of the way I have implemented a ajax application.  I have included 2 examples of the types of external application I have tied in.  I have many others with similar issues.

Web.config
<configuration>
  <!-- register local configuration handlers -->
  <configSections>
    <sectionGroup name="dotnetnuke">
      <!-- the requirePermission attribute will cause a syntax warning - please ignore - it is required for Medium Trust support-->
      <section name="data" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke" />
      <section name="logging" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke" />
      <section name="scheduling" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke" />
      <section name="htmlEditor" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke" />
      <section name="navigationControl" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke" />
      <section name="searchIndex" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke" />
      <section name="searchDataStore" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke" />
      <section name="friendlyUrl" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke" />
      <section name="caching" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke" />
      <section name="authentication" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke" />
      <section name="members" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke" />
      <section name="roles" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke" />
      <section name="profiles" requirePermission="false" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke" />

    </sectionGroup>
    <sectionGroup name="system.web">
      <section name="neatUpload" type="Brettle.Web.NeatUpload.ConfigSectionHandler, Brettle.Web.NeatUpload" allowLocation="true" />
    </sectionGroup>
  </configSections>
  <connectionStrings>
    <!-- Connection String for SQL Server 2005 Express
    <add
      name="SiteSqlServer"
      connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Database.mdf;"
      providerName="System.Data.SqlClient" /> -->
    <!-- Connection String for SQL Server 2000/2005 -->
    <add name="SiteSqlServer" connectionString="removed" providerName="System.Data.SqlClient" />
  </connectionStrings>
  <appSettings>
    <!-- Connection String for SQL Server 2005 Express - kept for backwards compatability - legacy modules   -->
    <!-- <add key="SiteSqlServer" value="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Database.mdf;"/>-->
    <!-- Connection String for SQL Server 2000/2005 - kept for backwards compatability - legacy modules -->
    <add key="SiteSqlServer" value="removed" />
    <add key="InstallTemplate" value="DotNetNuke.install.config" />
    <add key="AutoUpgrade" value="true" />
    <add key="InstallMemberRole" value="true" />
    <add key="ShowMissingKeys" value="false" />
    <add key="EnableWebFarmSupport" value="false" />
    <add key="EnableCachePersistence" value="false" />
    <add key="InstallationDate" value="1/17/2006" />
    <add key="HostHeader" value="" /><!-- Host Header to remove from URL so "www.mydomain.com/johndoe/Default.aspx" is treated as "www.mydomain.com/Default.aspx" -->
    <add key="RemoveAngleBrackets" value="false" />
  </appSettings>
  <system.codedom>
    <compilers>
      <compiler language="vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" extension=".VB" />
    </compilers>
  </system.codedom>
  <system.web>
    <machineKey validationKey="removed" decryptionKey="removed" decryption="3DES" validation="SHA1" />
    <!-- HttpModules for Common Functionality -->
    <httpModules>
<add name="UrlRewrite" type="DotNetNuke.HttpModules.UrlRewriteModule, DotNetNuke.HttpModules.UrlRewrite" />
      <add name="Exception" type="DotNetNuke.HttpModules.ExceptionModule, DotNetNuke.HttpModules.Exception" />
 

    
<add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule, Brettle.Web.NeatUpload" />

    <!-- add name="Authentication" type="DotNetNuke.HttpModules.AuthenticationModule, DotNetNuke.HttpModules.Authentication" / -->
      <add name="UsersOnline" type="DotNetNuke.HttpModules.UsersOnlineModule, DotNetNuke.HttpModules.UsersOnline" />
      <add name="DNNMembership" type="DotNetNuke.HttpModules.DNNMembershipModule, DotNetNuke.HttpModules.DNNMembership" />
      <add name="Personalization" type="DotNetNuke.HttpModules.PersonalizationModule, DotNetNuke.HttpModules.Personalization" />
    </httpModules>
    <!-- This is for FTB 3.0 support -->
    <httpHandlers>
      <add verb="GET" path="FtbWebResource.axd" type="FreeTextBoxControls.AssemblyResourceHandler, FreeTextBox" />
      <!-- This is for CAPTCHA support -->
      <add verb="*" path="*.captcha.aspx" type="DotNetNuke.UI.WebControls.CaptchaHandler, DotNetNuke" />
      <!-- This is for Serving files, secure, insecure, from database -->
      <add verb="*" path="LinkClick.aspx" type="DotNetNuke.Services.FileSystem.FileServerHandler, DotNetNuke"/>
    </httpHandlers>
    <!-- set code access security trust level - this is generally set in the machine.config
    <trust level="Medium" originUrl="http://localhost/.*" />
     -->
    <!-- set debugmode to false for running application -->
    <compilation debug="false" strict="false">
      <buildProviders>
        <remove extension=".resx" />
        <remove extension=".resources" />
      </buildProviders>
      <assemblies>
        <add assembly="Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
      </assemblies>
      <!-- register your app_code subfolders to generate granular assemblies during compilation
      <codeSubDirectories>
         <add directoryName="sub-directory name"/>
      </codeSubDirectories>
      -->
    </compilation>
    <!-- permits errors to be displayed for remote clients -->
        <customErrors mode="Off">
            <error statusCode="413" redirect="~/NeatUpload/Error413.aspx" />
        </customErrors>
    <!-- Forms or Windows authentication -->
    <authentication mode="Forms">
      <forms name=".DOTNETNUKE" loginUrl="/" protection="All" timeout="1200" />
    </authentication>
   
            <identity impersonate="true"/><!--
            <authentication mode="Windows">
            </authentication>
        -->
    <!-- allow large file uploads -->
    <httpRuntime useFullyQualifiedRedirectUrl="true" maxRequestLength="8192" requestLengthDiskThreshold="8192" executionTimeout="86000" />
    <httpCookies httpOnlyCookies="true" requireSSL="false" domain="" />
    <!--  GLOBALIZATION
        This section sets the globalization settings of the application.
        Utf-8 is not supported on Netscape 4.x
        If you need netscape compatiblity leave iso-8859-1.
        UTF-8 is recommended for complex languages
        -->
    <globalization culture="en-US" uiCulture="en" requestEncoding="UTF-8" responseEncoding="UTF-8" fileEncoding="UTF-8" />
    <!--<globalization culture="en-US" uiCulture="en"  fileEncoding="iso-8859-1" requestEncoding="iso-8859-1" responseEncoding="iso-8859-1"/>-->
    <!-- page level options -->
    <pages validateRequest="false" enableViewStateMac="true" enableEventValidation="false">
      <namespaces>
        <add namespace="System.ComponentModel" />
        <add namespace="System.Data" />
        <add namespace="System.Data.SqlClient" />
        <add namespace="System.Drawing" />
        <add namespace="Microsoft.VisualBasic" />
        <add namespace="System.Globalization" />
        <add namespace="DotNetNuke.Services.Localization" />
        <add namespace="DotNetNuke.Entities.Users" />
        <add namespace="DotNetNuke" />
        <add namespace="DotNetNuke.Common" />
        <add namespace="DotNetNuke.Data" />
        <add namespace="DotNetNuke.Framework" />
        <add namespace="DotNetNuke.Modules" />
        <add namespace="DotNetNuke.Security" />
        <add namespace="DotNetNuke.Services" />
        <add namespace="DotNetNuke.UI" />
        <add namespace="DotNetNuke.Entities.Portals" />
        <add namespace="DotNetNuke.Common.Utilities" />
        <add namespace="DotNetNuke.Services.Exceptions" />
        <add namespace="DotNetNuke.Entities.Tabs" />
      </namespaces>
    </pages>
    <xhtmlConformance mode="Legacy" />
    <!-- ASP.NET 2 Membership/Profile/Role and AnonymousAuthentication Providers -->
    <!-- anonymousIdentification configuration:
          enabled="[true|false]"                              Feature is enabled?
          cookieName=".ASPXANONYMOUS"                         Cookie Name
          cookieTimeout="100000"                              Cookie Timeout in minutes
          cookiePath="/"                                      Cookie Path
          cookieRequireSSL="[true|false]"                     Set Secure bit in Cookie
          cookieSlidingExpiration="[true|false]"              Reissue expiring cookies?
          cookieProtection="[None|Validation|Encryption|All]" How to protect cookies from being read/tampered
          domain="[domain]"                                   Enables output of the "domain" cookie attribute set to the specified value
        -->
        <anonymousIdentification
      enabled="true"
      cookieName=".ASPXANONYMOUS"
      cookieTimeout="100000"
      cookiePath="/"
      cookieRequireSSL="false"
      cookieSlidingExpiration="true"
      cookieProtection="None" domain=""/>
    <membership
      defaultProvider="AspNetSqlMembershipProvider"
      userIsOnlineTimeWindow="15">
      <providers>
        <clear />
        <!-- Configuration for DNNSQLMembershipProvider:
              connectionStringName="string"               Name corresponding to the entry in <connectionStrings> section where the connection string for the provider is specified
              passwordAttemptThreshold="int"              The number of failed password attempts, or failed password answer attempts that are allowed before locking out a user?s account
              passwordAttemptWindow="int"                 The time window, in minutes, during which failed password attempts and failed password answer attempts are tracked
              enablePasswordRetrieval="[true|false]"      Should the provider support password retrievals
              enablePasswordReset="[true|false]"          Should the provider support password resets
              requiresQuestionAndAnswer="[true|false]"    Should the provider require Q & A
                    minRequiredPasswordLength="int"                  The minimum password length
                    minRequiredNonalphanumericCharacters="int"  The minimum number of non-alphanumeric characters
              applicationName="string"                    Optional string to identity the application: defaults to Application Metabase path
              requiresUniqueEmail="[true|false]"          Should the provider require a unique email to be specified
              passwordFormat="[Clear|Hashed|Encrypted]"   Storage format for the password: Hashed (SHA1), Clear or Encrypted (Triple-DES)
              description="string"                        Description of what the provider does
        -->
                <add name="AspNetSqlMembershipProvider"
          type="System.Web.Security.SqlMembershipProvider"
                    connectionStringName="SiteSqlServer"
                    enablePasswordRetrieval="true"
                    enablePasswordReset="true"
                    requiresQuestionAndAnswer="false"
                    minRequiredPasswordLength="7"
                    minRequiredNonalphanumericCharacters="0"
                    requiresUniqueEmail="false"
                    passwordFormat="Encrypted"
                    applicationName="DotNetNuke"
                    description="Stores and retrieves membership data from the local Microsoft SQL Server database" />
      </providers>
    </membership>
     
        <neatUpload useHttpModule="false" maxNormalRequestLength="4096" maxRequestLength="2097151" defaultProvider="FilesystemUploadStorageProvider">
            <providers>
                <add name="FilesystemUploadStorageProvider"
                    type="Brettle.Web.NeatUpload.FilesystemUploadStorageProvider, Brettle.Web.NeatUpload"
                    tempDirectory="D:\UploadTemp\"
                    />
            </providers>
        </neatUpload>
  </system.web>
  <dotnetnuke>
    <htmlEditor defaultProvider="Ftb3HtmlEditorProvider">
      <providers>
        <clear />
        <!--
                     FTB options:
                     ============
                     toolbarStyle="Office2003|OfficeXP|Office2000|OfficeMac"  Sets the default FTB Toolbar style
                     enableProFeatures="[true|false]"                         Pro features require a license from FreeTextBox
                                                                              or you may test them with localhost only
                     spellCheck="[{none}|IeSpellCheck|NetSpell]"              IeSpellCheck is free for non-commercial use only
                                                                              NetSpell requires some integration work
                -->
        <add name="Ftb3HtmlEditorProvider" type="DotNetNuke.HtmlEditor.Ftb3HtmlEditorProvider, DotNetNuke.Ftb3HtmlEditorProvider" providerPath="~\Providers\HtmlEditorProviders\Ftb3HtmlEditorProvider\" toolbarStyle="Office2003" enableProFeatures="false" spellCheck="" />
      </providers>
    </htmlEditor>
    <navigationControl defaultProvider="SolpartMenuNavigationProvider">
      <providers>
        <clear />
                <add
          name="SolpartMenuNavigationProvider"
          type="DotNetNuke.NavigationControl.SolpartMenuNavigationProvider, DotNetNuke.SolpartMenuNavigationProvider"
          providerPath="~\Providers\NavigationProviders\SolpartMenuNavigationProvider\"/>
        <add
          name="DNNMenuNavigationProvider"
          type="DotNetNuke.NavigationControl.DNNMenuNavigationProvider, DotNetNuke.DNNMenuNavigationProvider"
          providerPath="~\Providers\NavigationProviders\DNNMenuNavigationProvider\"/>
        <add
          name="DNNTreeNavigationProvider"
          type="DotNetNuke.NavigationControl.DNNTreeNavigationProvider, DotNetNuke.DNNTreeNavigationProvider"
          providerPath="~\Providers\NavigationProviders\DNNTreeNavigationProvider\"/>
        <add
          name="DNNDropDownNavigationProvider"
          type="DotNetNuke.NavigationControl.DNNDropDownNavigationProvider, DotNetNuke.DNNDropDownNavigationProvider"
          providerPath="~\Providers\NavigationProviders\DNNDropDownNavigationProvider\"/>
        <add
          name="ASP2MenuNavigationProvider"
          type="DotNetNuke.NavigationControl.ASP2MenuNavigationProvider, DotNetNuke.ASP2MenuNavigationProvider"
          providerPath="~\Providers\NavigationProviders\ASP2MenuNavigationProvider\"/>
      </providers>
    </navigationControl>
    <searchIndex defaultProvider="ModuleIndexProvider">
      <providers>
        <clear />
        <add name="ModuleIndexProvider" type="DotNetNuke.Services.Search.ModuleIndexer, DotNetNuke.Search.Index" providerPath="~\Providers\SearchProviders\ModuleIndexer\" />
      </providers>
    </searchIndex>
    <searchDataStore defaultProvider="SearchDataStoreProvider">
      <providers>
        <clear />
        <add name="SearchDataStoreProvider" type="DotNetNuke.Services.Search.SearchDataStore, DotNetNuke.Search.DataStore" providerPath="~\Providers\SearchProviders\SearchDataStore\" />
      </providers>
    </searchDataStore>
    <data defaultProvider="SqlDataProvider">
      <providers>
        <clear />
        <add name="SqlDataProvider" type="DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider" connectionStringName="SiteSqlServer" upgradeConnectionString="" providerPath="~\Providers\DataProviders\SqlDataProvider\" objectQualifier="" templateFile="DotNetNuke_template.mdf" databaseOwner="dbo" />
      </providers>
    </data>
    <logging defaultProvider="DBLoggingProvider">
      <providers>
        <clear />
                <add
          name="XMLLoggingProvider"
          type="DotNetNuke.Services.Log.EventLog.XMLLoggingProvider, DotNetNuke.XMLLoggingProvider"
          configfilename="LogConfig.xml.resources"
          providerPath="~\Providers\LoggingProviders\XMLLoggingProvider\"/>
        <add
          name="DBLoggingProvider"
          type="DotNetNuke.Services.Log.EventLog.DBLoggingProvider.DBLoggingProvider, DotNetNuke.Provider.DBLoggingProvider"
          providerPath="~\Providers\LoggingProviders\Provider.DBLoggingProvider\"/>
      </providers>
    </logging>
    <scheduling defaultProvider="DNNScheduler">
      <providers>
        <clear />
        <add name="DNNScheduler" type="DotNetNuke.Services.Scheduling.DNNScheduling.DNNScheduler, DotNetNuke.DNNScheduler" providerPath="~\Providers\SchedulingProviders\DNNScheduler\" debug="false" maxThreads="1" />
      </providers>
    </scheduling>
    <friendlyUrl defaultProvider="DNNFriendlyUrl">
      <providers>
        <clear />
        <add name="DNNFriendlyUrl" type="DotNetNuke.Services.Url.FriendlyUrl.DNNFriendlyUrlProvider, DotNetNuke.HttpModules.UrlRewrite" includePageName="true" regexMatch="[^a-zA-Z0-9 _-]" />
      </providers>
    </friendlyUrl>
    <caching defaultProvider="FileBasedCachingProvider">
      <providers>
        <clear />
        <add name="FileBasedCachingProvider" type="DotNetNuke.Services.Cache.FileBasedCachingProvider.FBCachingProvider, DotNetNuke.Caching.FileBasedCachingProvider" providerPath="~\Providers\CachingProviders\FileBasedCachingProvider\" />
        <add name="BroadcastPollingCachingProvider" type="DotNetNuke.Services.Cache.BroadcastPollingCachingProvider.BPCachingProvider, DotNetNuke.Caching.BroadcastPollingCachingProvider" providerPath="~\Providers\CachingProviders\BroadcastPollingCachingProvider\" />
      </providers>
    </caching>
    <authentication defaultProvider="ADSIAuthenticationProvider">
      <providers>
        <clear />
        <add name="ADSIAuthenticationProvider" type="DotNetNuke.Security.Authentication.ADSIProvider, DotNetNuke.Authentication.ADSIProvider" providerPath="~\Providers\AuthenticationProviders\ADSIProvider\" />
      </providers>
    </authentication>

    <members defaultProvider="AspNetMembershipProvider">
      <providers>
        <clear/>
        <add name="AspNetMembershipProvider"
          type="DotNetNuke.Security.Membership.AspNetMembershipProvider, DotNetNuke.Provider.AspNetProvider"
          providerPath="~\Providers\MembershipProviders\AspNetMembershipProvider\"/>
      </providers>
    </members>
    <roles defaultProvider="DNNRoleProvider">
      <providers>
        <clear/>
        <add name="DNNRoleProvider"
          type="DotNetNuke.Security.Membership.DNNRoleProvider, DotNetNuke.Provider.DNNProvider"
          providerPath="~\Providers\MembershipProviders\DNNMembershipProvider\"/>
      </providers>
    </roles>
    <profiles defaultProvider="DNNProfileProvider">
      <providers>
        <clear/>
        <add name="DNNProfileProvider"
          type="DotNetNuke.Security.Profile.DNNProfileProvider, DotNetNuke.Provider.DNNProvider"
          providerPath="~\Providers\MembershipProviders\DNNMembershipProvider\"/>
      </providers>
    </profiles>
  </dotnetnuke>
   
    <location path="upload.aspx" >
        <system.web>
            <neatUpload useHttpModule="true" />
            <httpRuntime maxRequestLength="2097151" executionTimeout="86000" useFullyQualifiedRedirectUrl="true" />
            <authorization>
                <allow users="host,qhrclient" roles="Client - Full,Internal" />
                <deny users="*"/>
            </authorization>
        </system.web>
    </location>
    <location path="neatupload" >
        <system.web>
            <authorization>
                <allow users="host,qhrclient" roles="Client - Full,Internal" />
                <deny users="*"/>
            </authorization>
        </system.web>
    </location>
    <location path="QHRExceptions/getData.aspx" >
        <system.web>
            <authorization>
                <allow users="host" roles="Client - Full,Internal,Internal - Edit"  />
                <deny users="*"/>
            </authorization>
        </system.web>
    </location>
   <location path="QHRExceptions/setData.aspx" >
        <system.web>
            <authorization>
                <allow users="host" roles="Internal - Edit"  />
                <deny users="*"/>
            </authorization>
        </system.web>
    </location>
</configuration>


Web App 1: Uploader
Structure:  upload.aspx on / provides ui and calls DotNetNuke.Entities.Users.UserController.GetCurrentUserInfo().Username for file name redirection.  Utilizes neatupload through a iframe in a module to securely transfer large files and provide user feedback.  Security is role based and implemented by location entried in the web.config.  The roles entries no longer get parsed to individual accounts so I would need to insert a very long and changing list into the users parameter 

Web App 2: Exceptions Tool
Ajax based information viewer / editor.  Ajax code is dumped into a html module and communicates with a one of 2 interface pages (setter and getter with different security).  The getter page returns based on a call to User.IsInRole("Internal - Edit") if the interface should draw the edit controls which communicate with the setData.aspx page. 

Effectively my question is how do I get dnn 4.3.3 to allow me to use location entries in web.config and the user.IsInRole api (or DNN equivilent) from a nonroot folder page.  These are just two of about a half dozen web applications.  Others utilize com objects, conventional asp, and aspx (conventional asp style) within an iframe (I dont like those ones).  Any advice (other than redevelop everything as dnn modules) would be greatly appreciated
 
Previous
 
Next
HomeHomeUsing DNN Platf...Using DNN Platf...Administration ...Administration ...Role Manager Changes 4.3.3Role Manager Changes 4.3.3


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out