DotNetNuke Hosting with ASPHostPortal.com

BLOG about DotNetNuke CMS, latest technology and Special DotNetNuke Hosting Package with ASPHostPortal.com

DotNetNuke Hosting - ASPHostPortal.com :: Writing a New Authentication in DotNetnuke

clock Februarie 2, 2017 05:00 by author Armend

My companion organization already had ADFS setup. My purpose was to have the partner organization authenticate the user after which have DNN automatically recognize the user, not obtaining to enter any far more credentials. From there we wanted to manage the groups and permissions by way of the standard DNN portal.
I was initially beneath the misconception that I couldn't make use of the present DNNMembershipProvider and I'd have to generate a whole new Authentication Provider and gather the credentials and pass them to my partner organization.

What I have figured out is that you can use the existing DNNMembership provider, but you've got to make the user ahead of the request gets towards the DNNMembership provider making use of the info offered by ADFS.

Note: This approach is really a straight pass-through from ADFS to DNN. No measures are taken to authenticate the user or to check any from the inputs from ADFS.

As an aside, this method performs not just with ADFS but in addition any other external 3rd-party Authentication approach that sends user info in headers or cookies. Change the context_AuthenticateRequest approach to suit your requirements.

Right here are the pre-conditions to this article. I expect:

  • Your partner organization has ADFS up and running
  • You have your ADFS proxy up and running and it talks to the partner organization.
  • ADFS Web Agent is installed on the server you are running.

Let’s get begin.

HTTPModule

What you've to complete is produce an HTTPModule that will intercept the AuthorizeRequest events ahead of DNN does. An over-simplified definition of an HTTPModule is, it is a piece of code that runs ahead of any web page gets hit. You can listen for a large amount of distinct events. For much more data, click right here.

To make the HTTPModule you'll need to:

  • Open Visual Studio and produce a brand new class library.
  • Generate a brand new class and copy the code attached to this blog.
  • Add References to the following DLLs
    • DotNetNuke
    • System.Web
    • System.Web.Security.SingleSignOn
    • System.Web.Security.SingleSignOn.ClaimsTransform
    • System.Web.Security.SingleSignOn.Permissions
  • Compile the solution
  • The DLL that is created will need to be placed in the bin directory of your website.
  • Make changes to your web.config (explained in a later section).

I will walk through a bit of the code. Here is the first snippet of code. We start listening for the AuthenticateRequest event. All other events pass through untouched.

public void Init(HttpApplication context)
{
//Start listening for each authentication request
context.AuthenticateRequest += new EventHandler(context_AuthenticateRequest);
}

Now, what do we do when this event is fired off? To shorten the namespace I added the statement

using SSO = System.Web.Security.SingleSignOn;

First off, we need to get the information that ADFS has sent us by casting the User.Identity into the ADFS object SingleSignOnIdentity.

public void context_AuthenticateRequest(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
//By the time the request gets to here, it should have been authenticated
//against ADFS.
SSO.SingleSignOnIdentity id = (SSO.SingleSignOnIdentity)app.User.Identity;

At this point you will have access to the user’s Identity and any claims coming from the ADFS server. You can access them through id.SecurityPropertyCollection. You can use them to populate the new user account. You can iterate through the claims with the following code

foreach(SecurityProperty sp in id.SecurityPropertyCollection)
{
    Console.WriteLine(sp.Name);
    Console.WriteLine(sp.Value);
}

Subsequent, we check to determine in the event the use currently exists within the database by utilizing the DNN API function GetUserByName. If it doesn’t, then the user is created by the common DNN API function CreateUser and logged in. If the user does exist currently then we log them in automatically. The user will automatically be added to the Registered Users and Subscribers security groups.

//'See if user exists in DNN Portal user DB
UserInfo objUserInfo = UserController.GetUserByName(currentPortal.PortalId, id.Name);
//' user does exist - try to create on the fly
if (objUserInfo == null)
{
    objUserInfo = new UserInfo();
    objUserInfo.DisplayName = id.Name;
    objUserInfo.FirstName = id.Name;
    objUserInfo.LastName = id.Name;
    objUserInfo.Username = id.Name;
    objUserInfo.Membership.Password = "AReallyStrongPassword";
    objUserInfo.PortalID = currentPortal.PortalId;
    objUserInfo.Email = id.Name;
    UserCreateStatus objUserCreateStatus = UserController.CreateUser(ref objUserInfo);
    //See if the user was added successfully
    if (objUserCreateStatus == UserCreateStatus.Success)
    {
        //We have created them successfully, so let them into the site
        LetsLogUserIn(objUserInfo);
    }
    else
    {
        //This will send the error to the error log, but the user will experience an infinite loop
        throw new Exception("User not created successfully: " + objUserInfo.Username + "- " +         objUserCreateStatus.ToString());
}

Here is the LetsLogUserIn function:

private void LetsLogUserIn(UserInfo objUserInfo)
{
    try
    {
    //Get the current portal
    PortalSettings currentPortal = PortalController.GetCurrentPortalSettings();
    //set the language to the default language of the portal
    Localization.SetLanguage(currentPortal.DefaultLanguage);
    //Log the user in
        UserController.UserLogin(currentPortal.PortalId,
            objUserInfo,
            currentPortal.PortalName,
            HttpContext.Current.Request.UserHostAddress,
            false);
    }
    catch(Exception ex)
    {
        Exceptions.LogException(ex);
    }
}

Web.Config

We need to make several changes to the web.config. First we need to make the changes necessary for ADFS and then we need to make changes for our HTTPModule.

The ADFS changes are the standard web.config changes you would do for any ADFS claims-aware site. You first need to add the section groups to your web.config.

<sectionGroup name="system.web">
    <section name="websso" type="System.Web.Security.SingleSignOn.WebSsoConfigurationHandler,                                  System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" />
</sectionGroup>

Then you need to add the actual section. The <returnurl> needs to be EXACTLY what is put into ADFS. Remember, this URL needs to have a / at the end to prevent ADFS from posting to a directory listing. The <fs> element needs to be changed to reflect the name of your server.

<system.web>

    <websso>
        <authenticationrequired />
        <auditlevel>55</auditlevel>
        <urls>
            <returnurl>https://your_application/</returnurl>
        </urls>
        <fs>https://fs-server/adfs/fs/federationserverservice.asmx</fs>
    </websso>

</system.web>

If you would like to have logging (and who doesn’t like loggingJ) you will need to add the following section at the end of your web.config

<configuration>

<system.diagnostics>
     <switches>
       <!-- enables full debug logging -->
       <add name="WebSsoDebugLevel" value="255" />
     </switches>
     <trace autoflush="true" indentsize="3">
       <listeners>
         <!-- either create a c:\logs directory and grant Network Service permission to write to it, or remove this listener -->
         <add name="MyListener"
              type="System.Web.Security.SingleSignOn.BoundedSizeLogFileTraceListener, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null"
              initializeData="c:\logs\webagent.log" />
       </listeners>
     </trace>
   </system.diagnostics>
</configuration>

Ultimately, you need to add the HTTPModules for ADFS and our HTTPModule. Order matters a good deal for the HTTPModules. We require the ADFS Web Agent to become listed first, to ensure that any request will likely be redirected to our partner’s logon screen. Right away following the Web Agent should be our HTTPModule. This will make sure that we'll automatically log them on just before DNN even see it.

<system.web>
<httpModules>
    <add name="Identity Federation Services Application Authentication Module"                       type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" />
 
    <add name="HTTP_Module_Test" type="HTTP_Module_Test.SSO_Module, HTTP_Module_Test, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>

There you have it Hope it helps someone.

Best DotNetNuke Hosting Recommendation

ASPHostPortal.com provides its customers with Plesk Panel, one of the most popular and stable control panels for Windows hosting, as free. You could also see the latest .NET framework, a crazy amount of functionality as well as Large disk space, bandwidth, MSSQL databases and more. All those give people the convenience to build up a powerful site in Windows server. ASPHostPortal.com offers DotNetNuke hosting starts from $5/month only. We also guarantees 30 days money back and guarantee 99.9% uptime. If you need a reliable affordable DotNetNuke Hosting, we should be your best choice.

Save



ASPHostPortal.com Announces WooCommerce Hosting Solution

clock Januarie 31, 2017 12:02 by author Dan

Established in 2008, ASPHostPortal.com is one of the leading ASP.NET hosting provider offering quality service with premium support. We maintains and operates its own network. Our servers are built using the latest technology and housed in 4 continent (US, Europe, Asia, and Australia). Our company is passionate about hosting and strive to deliver an excellent level of service to each customer. Today, we support WooCommerce hosting for all new or exist customers.

WooCommerce is a free eCommerce plugin that allows you to sell anything, beautifully. Built to integrate seamlessly with WordPress, WooCommerce is the world’s favorite eCommerce solution that gives both store owners and developers complete control.

With endless flexibility and access to hundreds of free and premium WordPress extensions, WooCommerce now powers 30% of all online stores -- more than any other platform.

ASPHostPortal.com is set up with an aim to serve customers in an excellent manner by providing them quality service. We offer WooCommerce hosting with affordable price, a lot of features, 99.99% uptime guarantee, 24/7 support, and 30 days money back guarantee. Therefore, our focus is always aimed at making sure customers are constantly able to achieve optimal performance and usability with all of the services that we offer. To learn more about our WooCommerce Hosting, please visit http://asphostportal.com/WooCommerce-Hosting

About ASPHostPortal.com:
ASPHostPortal.com is The Best, Cheap and Recommended ASP.NET & Linux Hosting. ASPHostPortal.com has ability to support the latest Microsoft, ASP.NET, and Linux technology, such as: such as: WebMatrix, Web Deploy, Visual Studio, Latest ASP.NET Version, Latest ASP.NET MVC Version, Silverlight and Visual Studio Light Switch, Latest MySql version, Latest PHPMyAdmin, Support PHP, etc. Their service includes shared hosting, reseller hosting, and Sharepoint hosting, with speciality in ASP.NET, SQL Server, and Linux solutions. Protection, trustworthiness, and performance are at the core of hosting operations to make certain every website and software hosted is so secured and performs at the best possible level.



DotNetNuke Hosting - ASPHostPortal.com :: Simple Trick CSS Image Replacement in DNN

clock Januarie 31, 2017 10:24 by author Dan

According to DNNgallery website. I've used quite a few image replacement techniques in web design in the past to create better typography for the web. But recently I've ran into a technique improved by Scott Kellum that proved to be effective as well as enhancing the performance of the site.

If you're a web designer, you've probably heard of Fahrner Image Replacement technique. It's essentially using CSS text-indent property and set it to a very larger negative number such as -9999px so the text isn't visible to users.

The technique is known for having a performance drawback since the browser has to draw the screen out to the measurement defined in the CSS. Jeff Zeldman recently published an improved technique in his post about this fix based on Scott Kellum's refactor code as follows:

.hide-text {
         text-indent: 100%;
         white-space: nowrap;
         overflow: hidden; }


So use this in your next web design project to eliminate performance drawback in the CSS.

Best Recommended DotNetNuke Hosting

ASPHostPortal.com is the leading provider of Windows hosting and affordable DotNetNuke Hosting. DotNetNuke Hosting from ASPHostPortal.com provides a safe, reliable and performance-driven foundation for your DotNetNuke website. DotNetNuke is the perfect Content Management System for managing and developing your website with one of ASPHostPortal’s Hosting plans. ASPHostPortal has ability to support the latest Microsoft and ASP.NET technology, such as: WebMatrix, WebDeploy, Visual Studio 2015, .NET 5/ASP.NET 4.5.2, ASP.NET MVC 6.0/5.2, Silverlight 6 and Visual Studio Lightswitch, ASPHostPortal guarantees the highest quality product, top security, and unshakeable reliability, carefully chose high-quality servers, networking, and infrastructure equipment to ensure the utmost reliability.



DotNetNuke Hosting - ASPHostPortal.com :: How To Restore Database Scema on DNN

clock Januarie 26, 2017 04:54 by author Armend

Dotnetnuke standard installs using the dbo as the default user. Some hosts however, like shared hosting service providers, do not allow you to use dbo. So in this case you have to install Dotnetnuke using your assigned username. This should work without any problems. But in case you have an existing website which was installed using the dbo user and you would like to migrate it to a hosting provider that does not allow dbo you have a problem.

The easiest way to migrate a Dotnetnuke website is by backing up the entire web and the database and restore it to the new environment. This will work fine only if your new environment allows dbo. If it does not you will find that when restoring the database all objects will have been assigned to your username and not to dbo and your web will not run.

To resolve this issue you can follow the steps outlined below after which your web will run without any problems. As this procedure requires changes to the databse please be sure to have a backup of your database and website. Note: This procedure is for a SQL server 2005 database!

Step 1:
Open your web.config file and look for "owner". Change the owner from dbo to your database username.
Open your web.config file and look for "owner". Change the owner from dbo to your database username.

Step 2:
In Microsoft SQL Server management studio select all stored procedures that DO NOT have aspnet in their name, rightclick and select "script as create to new query editor window".
In Microsoft SQL Server management studio select all stored procedures that DO NOT have aspnet in their name, rightclick and select "script as create to new query editor window".

This will create a script for all the selected stored procedures.

Step 3:
Where it says "new owner" below you should change it for your database username!
Where it says "new owner" below you should change it for your database username!

  • In the just created script search and replace "create procedure" with "alter procedure"
  • Search and replace "create procedure" with "alter procedure" (Note! with 2 spaces!)
  • Search and replace "[dbo]" with "[new owner]"
  • Search and replace "dbo." with "new owner."
  • Execute the script

Step 4:
In Microsoft SQL Server management studio select all stored views that DO NOT have aspnet in their name, rightclick and select "script as create to new query editor window".
In Microsoft SQL Server management studio select all stored views that DO NOT have aspnet in their name, rightclick and select "script as create to new query editor window".

Step 5:

  • Search and replace "[dbo]" with "[new owner]"
  • Search and replace "dbo." with "new owner."
  • Search and replace "create view" with "alter view"
  • Search and replace "new owner.GetListParentKey" width "dbo.GetListParentKey"
  • Execute the script

Step 6:

  • Go to "functions" "Scalar-valued functions"
  • rightclick and select "script as create to new query editor window" for function "fn_GetVersion"
  • Search and replace "dbo." with "new owner." (including the "."!)
  • Execute script

Step 7:

Open a new query window and paste the following script:

ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Applications
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Membership
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Profile
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Roles
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_SchemaVersions
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Users
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_UsersInRoles
ALTER SCHEMA dbo TRANSFER [USERNAME].vw_aspnet_Applications
ALTER SCHEMA dbo TRANSFER [USERNAME].vw_aspnet_MembershipUsers
ALTER SCHEMA dbo TRANSFER [USERNAME].vw_aspnet_Profiles
ALTER SCHEMA dbo TRANSFER [USERNAME].vw_aspnet_Roles
ALTER SCHEMA dbo TRANSFER [USERNAME].vw_aspnet_Users
ALTER SCHEMA dbo TRANSFER [USERNAME].vw_aspnet_UsersInRoles
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Applications_CreateApplication
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_UnRegisterSchemaVersion
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_CheckSchemaVersion
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Users_CreateUser
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Users_DeleteUser
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_AnyDataInTables
ALTER SCHEMA dbo TRANSFER
[USERNAME].aspnet_Membership_CreateUser
ALTER SCHEMA dbo TRANSFER
[USERNAME].aspnet_Membership_GetUserByName
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Membership_GetUserByUserId

ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Membership_GetUserByEmail
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Membership_GetPasswordWithFormat

ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Membership_UpdateUserInfo
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Membership_GetPassword
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Membership_SetPassword
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Membership_ResetPassword
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Membership_UnlockUser
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Membership_UpdateUser
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Membership_ChangePasswordQuestionAndAnswer

ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Membership_GetAllUsers
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Membership_GetNumberOfUsersOnline

ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Membership_FindUsersByName
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Membership_FindUsersByEmail
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Profile_GetProperties
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Profile_SetProperties
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Profile_DeleteProfiles
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Profile_DeleteInactiveProfiles
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Profile_GetNumberOfInactiveProfiles

ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Profile_GetProfiles
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_UsersInRoles_IsUserInRole
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_UsersInRoles_GetRolesForUser
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Roles_CreateRole
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Roles_DeleteRole
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Roles_RoleExists
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_UsersInRoles_AddUsersToRoles

ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_UsersInRoles_RemoveUsersFromRolesALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_UsersInRoles_GetUsersInRoles
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_UsersInRoles_FindUsersInRole
ALTER SCHEMA dbo TRANSFER [USERNAME].aspnet_Roles_GetAllRoles
Grant execute on aspnet_Setup_RestorePermissions to [USERNAME]
Grant execute on aspnet_Setup_RemoveAllRoleMembers to [USERNAME]
Grant execute on aspnet_RegisterSchemaVersion to [USERNAME]
Grant execute on aspnet_Applications_CreateApplication to [USERNAME]
Grant execute on aspnet_UnRegisterSchemaVersion to [USERNAME]
Grant execute on aspnet_Users_CreateUser to [USERNAME]
Grant execute on aspnet_Users_DeleteUser to [USERNAME]
Grant execute on aspnet_AnyDataInTables to [USERNAME]
Grant execute on aspnet_Membership_CreateUser to [USERNAME]
Grant execute on aspnet_Membership_GetUserByName to [USERNAME]
Grant execute on aspnet_Membership_GetUserByUserId to [USERNAME]
Grant execute on aspnet_Membership_GetUserByEmail to [USERNAME]
Grant execute on aspnet_Membership_GetPasswordWithFormat to [USERNAME]
Grant execute on aspnet_Membership_UpdateUserInfo to [USERNAME]
Grant execute on aspnet_Membership_GetPassword to [USERNAME]
Grant execute on aspnet_Membership_SetPassword to [USERNAME]
Grant execute on aspnet_Membership_ResetPassword to [USERNAME]
Grant execute on aspnet_Membership_UnlockUser to [USERNAME]
Grant execute on aspnet_Membership_UpdateUser to [USERNAME]
Grant execute on aspnet_Membership_ChangePasswordQuestionAndAnswer to [USERNAME]

Grant execute on aspnet_Membership_GetAllUsers to [USERNAME]
Grant execute on aspnet_Membership_GetNumberOfUsersOnline to [USERNAME]
Grant execute on aspnet_Membership_FindUsersByName to [USERNAME]
Grant execute on aspnet_Membership_FindUsersByEmail to [USERNAME]
Grant execute on aspnet_Profile_GetProperties to [USERNAME]
Grant execute on aspnet_Profile_SetProperties to [USERNAME]
Grant execute on aspnet_Profile_DeleteProfiles to [USERNAME]
Grant execute on aspnet_Profile_DeleteInactiveProfiles to [USERNAME]
Grant execute on aspnet_Profile_GetNumberOfInactiveProfiles to [USERNAME]
Grant execute on aspnet_Profile_GetProfiles to [USERNAME]
Grant execute on aspnet_UsersInRoles_IsUserInRole to [USERNAME]
Grant execute on aspnet_UsersInRoles_GetRolesForUser to [USERNAME]
Grant execute on aspnet_Roles_CreateRole to [USERNAME]
Grant execute on aspnet_Roles_DeleteRole to [USERNAME]
Grant execute on aspnet_Roles_RoleExists to [USERNAME]
Grant execute on aspnet_UsersInRoles_AddUsersToRoles to [USERNAME]
Grant execute on aspnet_UsersInRoles_RemoveUsersFromRoles to [USERNAME]
Grant execute on aspnet_UsersInRoles_GetUsersInRoles to [USERNAME]
Grant execute on aspnet_UsersInRoles_FindUsersInRole to [USERNAME]
Grant execute on aspnet_Roles_GetAllRoles to [USERNAME]
Grant execute on aspnet_CheckSchemaVersion to [USERNAME]
Grant execute on GetListParentKey to [USERNAME]

Search and replace [USERNAME] for your database username and execute the script.

Step 8:
Refresh your database manager window and you should now see that all AspNet tables and storedprocedures belong to the dbo user/schema. Open your website in your browser. Your website should now load as normal.

Best Recommended DotNetNuke Hosting

ASPHostPortal.com

ASPHostPortal.com is the leading provider of Windows hosting and affordable DotNetNuke Hosting. DotNetNuke Hosting from ASPHostPortal.com provides a safe, reliable and performance-driven foundation for your DotNetNuke website. DotNetNuke is the perfect Content Management System for managing and developing your website with one of ASPHostPortal’s Hosting plans. ASPHostPortal has ability to support the latest Microsoft and ASP.NET technology, such as: WebMatrix, WebDeploy, Visual Studio 2015, .NET 5/ASP.NET 4.5.2, ASP.NET MVC 6.0/5.2, Silverlight 6 and Visual Studio Lightswitch, ASPHostPortal guarantees the highest quality product, top security, and unshakeable reliability, carefully chose high-quality servers, networking, and infrastructure equipment to ensure the utmost reliability.



ASPHostPortal.com Announces Umbraco 7.5.7 Hosting Solution

clock Januarie 24, 2017 10:54 by author Dan

ASPHostPortal.com is one of the best Windows ASP.NET hosting around and is the most popular among businesses for a secure and reliable experience. Established in 2008, ASPHostPortal.com Hosting can be considered a veteran in the web hosting industry. Backed by a team of experts with diverse technical backgrounds, ASPHostPortal.com Hosting focuses on the latest technology to provide the best reliability for a smooth experience. Today, we offer Umbraco 7.5.7 hosting to all customers.

Umbraco is easy to learn and use, making it perfect for web designers, developers and content creators alike. People can be up and running in just a few minutes with their simple installer. Either apply one of the included starter kits or seamlessly integrate any designs.

Umbraco Support is the surest way to ensure people has the tools they need to boost their productivity and the sites are well cared for. With umbraco.tv accounts, licensing, and expert support you're sure to create great Umbraco sites with more confidence and in less time.

ASPHostPortal.com is set up with an aim to serve customers in an excellent manner by providing them quality service. We offer Umbraco 7.5.7 hosting with affordable price, a lot of features, 99.99% uptime guarantee, 24/7 support, and 30 days money back guarantee. Therefore, our focus is always aimed at making sure customers are constantly able to achieve optimal performance and usability with all of the services that we offer. To learn more about our Umbraco 7.5.7 Hosting, please visit http://asphostportal.com/Umbraco-7-5-7-Hosting

About ASPHostPortal.com:
ASPHostPortal.com is The Best, Cheap and Recommended ASP.NET & Linux Hosting. ASPHostPortal.com has ability to support the latest Microsoft, ASP.NET, and Linux technology, such as: such as: WebMatrix, Web Deploy, Visual Studio, Latest ASP.NET Version, Latest ASP.NET MVC Version, Silverlight and Visual Studio Light Switch, Latest MySql version, Latest PHPMyAdmin, Support PHP, etc. Their service includes shared hosting, reseller hosting, and Sharepoint hosting, with speciality in ASP.NET, SQL Server, and Linux solutions. Protection, trustworthiness, and performance are at the core of hosting operations to make certain every website and software hosted is so secured and performs at the best possible level.



DotNetNuke Hosting - ASPHostPortal.com :: Simple Steps to Add Text in DNN Search Box

clock Januarie 24, 2017 07:45 by author Dan

According to mndnn website. While trolling around the DNN forums, I found a post by someone looking to add the text "Search" to the DNN Search box. I've done this several times, and I use a javascript snippet. For those that are looking for something similar, see below.
 
$(document).ready(function() {
 $('#dnn_dnnSEARCH_txtSearch').val('Search Our Site'); //add the search text to the search input
    $("#dnn_dnnSEARCH_txtSearch").focus(function () { //clear the default text out of the search input
        if ($(this).val() == "Search Our Site") {
            $(this).val('');
        }
    });
});


This will add the text "Search Our Site" to the search box. When the user clicks on the box, the text is erased.

The best place to add this is in your skin files. Make sure you are using jQuery.

Best Recommended DotNetNuke Hosting

ASPHostPortal.com is the leading provider of Windows hosting and affordable DotNetNuke Hosting. DotNetNuke Hosting from ASPHostPortal.com provides a safe, reliable and performance-driven foundation for your DotNetNuke website. DotNetNuke is the perfect Content Management System for managing and developing your website with one of ASPHostPortal’s Hosting plans. ASPHostPortal has ability to support the latest Microsoft and ASP.NET technology, such as: WebMatrix, WebDeploy, Visual Studio 2015, .NET 5/ASP.NET 4.5.2, ASP.NET MVC 6.0/5.2, Silverlight 6 and Visual Studio Lightswitch, ASPHostPortal guarantees the highest quality product, top security, and unshakeable reliability, carefully chose high-quality servers, networking, and infrastructure equipment to ensure the utmost reliability.



DotNetNuke Hosting - ASPHostPortal.com :: Easy Tips DNN Installation Process

clock Januarie 19, 2017 04:45 by author Armend

In this article I would like to explains you step by step process to installation DotnetNuke.

Step by step process to installation DotnetNuke

  • Unzip the DNN file.
  • Rename
  • Make Two Folders in side UnZip folder
    • SQLExpress_DBFile
    • Website
  • Move all files inside the Website Folder except SqlExpressFolder.
    • Modify WebConfig.
  • Host it to IIS
    • Open IIS
    • Add new website (exp: DNNDEV.ME)
      • Site name :DNNDEV.ME
      • Provide physical path of dnn(Mark it to website folder under dnn folder)
      • Host name:DNNDEV.ME(same as site name)
  • After adding site you have to provide it permission:
    • Right click website folder > Edit permission > Security
    • Under Security click Edit > ADD > iis apppool\DC700X_DEV5 (your site name)
    • Allow it to All permission
  • Now add it to Host sites
    • Open notepad as Administration > File > Open > Brows (C > Windows32 > Systems > Drivers > host(Select all files) remove Read only permission
    • Now open Host and add 127.0.0.1 DNNDEV.ME (as per your ip and site name)
    • Now save and give it Read only Permission.

Make Data Base for dnn

  • Open SqlServer > Database(right click) >Add new DB > Paste here DNNDEV.ME(original site or host name as in IIS)
  • Open Database > Security > Logins (Create new user)
    • Login Name :DNNDEV.ME
    • Check Sql Server Authentication (nt Windows Auth)
    • Pas :Database,Confirm pass:Database
    • Make Enforce Password Policy Uncheck Then cilck > OK
  • Open DNNDEV.ME > Security > USers (right click) > New USer
    • User Name :DNNDEV.ME
    • Default Scheme : dbo
    • Select both chk to db_owner then click ok

Run DNN from IIS

  • Fill all field as per your back entrys.
  • Change Custom.

Now its running
Template Modify Process

Best Recommended DotNetNuke Hosting

ASPHostPortal.com

ASPHostPortal.com is the leading provider of Windows hosting and affordable DotNetNuke Hosting. DotNetNuke Hosting from ASPHostPortal.com provides a safe, reliable and performance-driven foundation for your DotNetNuke website. DotNetNuke is the perfect Content Management System for managing and developing your website with one of ASPHostPortal’s Hosting plans. ASPHostPortal has ability to support the latest Microsoft and ASP.NET technology, such as: WebMatrix, WebDeploy, Visual Studio 2015, .NET 5/ASP.NET 4.5.2, ASP.NET MVC 6.0/5.2, Silverlight 6 and Visual Studio Lightswitch, ASPHostPortal guarantees the highest quality product, top security, and unshakeable reliability, carefully chose high-quality servers, networking, and infrastructure equipment to ensure the utmost reliability.



ASPHostPortal.com Announces IIS 10 Hosting Solution

clock Januarie 17, 2017 18:07 by author Dan

ASPHostPortal is the leading Windows ASP.NET hosting providers that offer reliable IIS hosting. It has secured its place because of great support and reliability. We are a right choice for anyone who are looking for an IIS hosting for small businesses, blogs, online portfolio, personal websites or professional websites. Now, we offer reliable IIS 10 hosting with good price and money back guarantee.

Internet Information Services (IIS) for Windows® Server is a flexible, secure and manageable Web server for hosting anything on the Web. From media streaming to web applications, IIS’s scalable and open architecture is ready to handle the most demanding tasks.

With IIS, people can deploy and manage Web sites and applications across large farms of Web servers from a central place. People can also Maximize web server security through reduced server footprint and automatic application isolation.

ASPHostPortal.com is set up with an aim to serve customers in an excellent manner by providing them quality service. We offer IIS 10 hosting with affordable price, a lot of features, 99.99% uptime guarantee, 24/7 support, and 30 days money back guarantee. Therefore, our focus is always aimed at making sure customers are constantly able to achieve optimal performance and usability with all of the services that we offer. To learn more about our IIS 10 Hosting, please visit http://asphostportal.com/IIS-10-Hosting

About ASPHostPortal.com:
ASPHostPortal.com is The Best, Cheap and Recommended ASP.NET & Linux Hosting. ASPHostPortal.com has ability to support the latest Microsoft, ASP.NET, and Linux technology, such as: such as: WebMatrix, Web Deploy, Visual Studio, Latest ASP.NET Version, Latest ASP.NET MVC Version, Silverlight and Visual Studio Light Switch, Latest MySql version, Latest PHPMyAdmin, Support PHP, etc. Their service includes shared hosting, reseller hosting, and Sharepoint hosting, with speciality in ASP.NET, SQL Server, and Linux solutions. Protection, trustworthiness, and performance are at the core of hosting operations to make certain every website and software hosted is so secured and performs at the best possible level.



DotNetNuke Hosting - ASPHostPortal.com :: How to Create Different Level Navigation in DNN

clock Januarie 17, 2017 15:00 by author Dan

According to mndnn website, If you ever need to dynamically output two different levels of menu in the same skin, read below. In some cases you may need a primary or secondary page to show it’s children and the child page to show it’s siblings.

You can do that in the same skin. This example uses the DNN Garden menu, but it could be any provider where the levels are specified

<div id="side-nav">

<%  If PortalSettings.ActiveTab.Level < 1 Then%>

<ddr:MENU ID=”MENU2″ MenuStyle=”ULMenu” runat=”server” NodeSelector=’0,0,1′ ExcludeNodes=”Admin, Host” />

<% Else%>

<ddr:MENU ID=”MENU3″ MenuStyle=”ULMenu” runat=”server” NodeSelector=’-1,0,2′ ExcludeNodes=”Admin, Host” />

<% End If%>

</div>


Now I can use the same skin for two levels of hierarchy. Using DNN Garden, the node selector determines the depth of the menu.

Now on my primary pages, I can show the children. On the child pages, I can show it's siblings.

Best DotNetNuke Hosting Recommendation

ASPHostPortal.com provides its customers with Plesk Panel, one of the most popular and stable control panels for Windows hosting, as free. You could also see the latest .NET framework, a crazy amount of functionality as well as Large disk space, bandwidth, MSSQL databases and more. All those give people the convenience to build up a powerful site in Windows server. ASPHostPortal.com offers DotNetNuke hosting starts from $5/month only. We also guarantees 30 days money back and guarantee 99.9% uptime. If you need a reliable affordable DotNetNuke Hosting, we should be your best choice.



DotNetNuke Hosting - ASPHostPortal.com :: How To Develop Web Service in DNN

clock Januarie 12, 2017 04:49 by author Armend

I have recently been assigned to built a DotNetNuke web service to permit a windows application (or any sort of net client for instance) the flexibility to control DotNetNuke person accounts (create, change roles, delete, retrieve e mail address, and so forth.).

Since I had a tough time locating an accurate code sample or documentation that really applies to DotNetNuke and accessing it without having being earlier logged in to DotNetNuke, it absolutely was difficult to constructed anything at all. I ultimately found out how to do it properly so I hard I would put my attempts to some use and write a blog publish explaining how you can get it done step by stage.

 


That said, let's begin by the fundamentals and just create a publicly available web services that permits anybody to ping the net service and acquire a pong again. For that we are going to use the new DotNetNuke 7 Providers Framework which makes it fairly simple should you know how to utilize it.

In order to create a net support that will work within DotNetNuke 7, you will need to fireplace up Visual Studio and create a class Library project (c# or VB but all illustrations listed here will be in c#).

That done, we will then reference some needed DotNetNuke 7 required libraries (making use of the Add Reference dialog box), here's the list:

DotNetNuke.dll
DotNetNuke.Web.dll
System.Net.Http.dll
System.Net.Http.Formatting.dll
System.Web.Http.dll

Then we also need to reference the System.Web class from the .NET tab of the same dialog box.

Finally, we neet to set the output path of the project to the DotNetNuke bin directory and we are ready to code.

Here is the code, the explanations follow:

using System.Net;
using System.Net.Http;
using System.Web.Http;
using DotNetNuke.Web.Api;
 
namespace MyService
{
    public class PingController : DnnApiController
    {
        [AllowAnonymous]
        [HttpGet]
        public HttpResponseMessage PublicPing()
        {
            return Request.CreateResponse(HttpStatusCode.OK, "Pong!");
        }
    }
 
    public class RouteMapper : IServiceRouteMapper
    {
        public void RegisterRoutes(IMapRoute mapRouteManager)
        {
            mapRouteManager.MapHttpRoute("MyService", "default", "{controller}/{action}", new[]{"MyService"});
        }
    }
}

  1. We merely start with some using statements for our needs as demonstrated previously mentioned
  2. We develop a namespace for our service and no matter what name we use listed here will be part of the url. I utilized MyService just for this instance but use any name which makes perception for your services.
  3. Now we create a public class for our controller. You'll be able to create numerous controllers if you want to and the controller is just a bunch of related actions that make feeling to group with each other. In my genuine project I have a PingController for testing functions, a UsersController for almost any steps that relate to user accounts and so forth. Just utilize a identify that makes feeling because it will even present up in the url. Two things for being careful right here:

    • The identify of one's controller should end using the term Controller but only what will come just before it will show inside the url, so for PingController, only Ping will show in the url route.
    • It should inherit DnnApiController so it'll use the DotNetNuke Providers Framework.
  4. Then we create the actual motion, inside our case, PublicPing. It's just a straightforward technique which return an HttpResponseMessage and may have a handful of characteristics. By default the brand new providers framework will respond only to host consumers and you also must explicitly enable other access rights if necessary, in this case the [AllowAnonymous] helps make this technique (or action if you prefer) obtainable to anyone with out credentials. The next attribute, [HttpGet] can make this action reply to HTTP GET verb, which can be usually used when requesting some date in the web server.
  5. Finally in that action, you insert whatever code you action needs to do, in this case just return the string "Pong!", just remember that you should return an HttpResponseMessage rather than a string or int or other item.

Ok so our controller and motion is done, now we just need to map that to an actual URL and that exactly what the final portion of the earlier code does. In essence this code tells DotNetNuke to map a specific url pattern for the techniques outlined in your course. You can use that code as is simply replacing MyService by no matter what your support title is.

Testing:
That is all there is certainly to it, your services is prepared! To test it, first compile it, then just navigate to http://yourdomain/DesktopModules/MyService/API/Ping/PublicPing and you should see "Pong!" inside your browser like a response.

Passing parameters

Ok, so the basic code above is working but it doesn't do anything useful. Lets add something more useful by creating an action that will give us the email address for a specific user id.

Again, here's the code and the explanations will follow (place the code inside the same namespace as the previous one):

public class UsersController : DnnApiController
    {
        [RequireHost]
        [HttpGet]
        public HttpResponseMessage GetEmail(int userid)
        {
            DotNetNuke.Entities.Users.UserInfo ui;
            ui = DotNetNuke.Entities.Users.UserController.GetUserById(PortalSettings.PortalId, userid);
            return Request.CreateResponse(HttpStatusCode.OK, ui.Email);
        }
    }


Initial we build a UsersController course which will hold all actions related to person accounts, it isn't completely required, you'll be able to have numerous steps within the same controller, nonetheless because this motion is not in any respect connected to our PingController, let'a create a new one more descriptive.

We then create a GetEmail motion (method) which will accept a userid parameter. The [RequireHost] parameter listed here will make it accessible only to host customers, we are going to see afterwards other authentication options.

The code inside the approach alone is fairly significantly self explanatory. The only interesting factor to notice listed here is the fact that because our course inherits DnnApiController, we already have a PortalSettings item obtainable. That is the big benefit of producing use of the DotNetNuke Solutions Framework. You'll have a ModuleInfo object to represent your module (if there is 1 using the identical identify as your support, which can be not essential such on this scenario), a PortalSettings object that signifies the portal at the domain title utilized to accessibility the support (portal alias) and at last a UserInfo item symbolizing the person that accessed the web services.

Testing:

If we now navigate to http://yourdomain/MyService/API/Users/GetEmail?userid=2 you need to receive the email tackle back again from the server unless of course obviously that userid does not exist, ensure that you check having a userid that truly exists for that portal. Should you exactly where not formerly linked having a host account, you then will probably be requested for qualifications.

Limiting access to particular roles

Alright, that actually works however, you need to give host qualifications to anyone needing to make use of your webservice. To avoid which you can change [RequireHost] by [DnnAuthorize(StaticRoles="Administrators")] which can limit access to administrators. Much better however, you nevertheless must provide them with an admin account. So the easy method to give only constrained entry would be to create a brand new role in DotNetNuke only for your internet services and substitute Administrators by that specific function title within the authentication parameter.

Utilizing HttpPost : (reply to a comment down bellow)

To answer Massod comment bellow, it's nearly exactly the same thing however, you have to develop an object to contain the posted information.

Let's make a easy ping that makes use of Submit, very first we need to create an object which will contain the posted info this sort of as:

public class FormMessage
    {
        public string Message { get; set; }
    }

Then we create the service method something like this:

 

public class PingController : DnnApiController
   {
       [AllowAnonymous]
       [HttpPost]
       public HttpResponseMessage PostPing(FormMessage formMessage)
       {
           return Request.CreateResponse(HttpStatusCode.OK, "Pong from POST: message was '" + formMessage.Message + "'.");
       }
   }

note that normally, a post would only return ok and no message, I am just doing this so we can test here.

Now since this is a POST verb, we can't test it by only using url parameters, we need to make an html file with a form to test it out. It would be someting like this:

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Untitled Pagetitle>
head>
<body>
    <form action="http://dnndev/DesktopModules/MyService/API/Ping/PostPing" method="POST">
        <label for="message">Message: label><input type="text" name="Message"/>
        <input type="submit" value="Submit"/>
    form>
body>
html>

The crucial thing to not right here is you can not just develop your Publish technique taking a string even when this can be only what you require, you do must create an object which will get your parameters.

Also never overlook that this is only for tests, you usually do not need to make this publicly accessible, you'd probably usually use yet another parameter than [AllowAnonymous] such as [DnnModuleAuthorize(AccessLevel = SecurityAccessLevel.View)] and [ValidateAntiForgeryToken] unless you truly want that for being public.

 

Best DotNetNuke Hosting Recommendation

ASPHostPortal.com provides its customers with Plesk Panel, one of the most popular and stable control panels for Windows hosting, as free. You could also see the latest .NET framework, a crazy amount of functionality as well as Large disk space, bandwidth, MSSQL databases and more. All those give people the convenience to build up a powerful site in Windows server. ASPHostPortal.com offers DotNetNuke hosting starts from $5/month only. We also guarantees 30 days money back and guarantee 99.9% uptime. If you need a reliable affordable DotNetNuke Hosting, we should be your best choice.



About ASPHostPortal.com

We’re a company that works differently to most. Value is what we output and help our customers achieve, not how much money we put in the bank. It’s not because we are altruistic. It’s based on an even simpler principle. "Do good things, and good things will come to you".

Success for us is something that is continually experienced, not something that is reached. For us it is all about the experience – more than the journey. Life is a continual experience. We see the Internet as being an incredible amplifier to the experience of life for all of us. It can help humanity come together to explode in knowledge exploration and discussion. It is continual enlightenment of new ideas, experiences, and passions

Author Link


 photo ahp banner aspnet-01_zps87l92lcl.png

Corporate Address (Location)

ASPHostPortal
170 W 56th Street, Suite 121
New York, NY 10019
United States

Tag cloud

Sign in