Partial Trust

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
15 years ago
Hi,
you should make nopCommerce to be able to run in a partial trust (the usual webhosting configuration).
It is quite easy:

-add <trust level="Medium"/> to the system.web part of web.config

(the solution won't build because of the Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.Configuration.Design.dll library)

-remove the reference to Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.Configuration.Design.dll from Libraries/Nop.DataAccess.SqlServer since it is not needed.

(the solution now should build - if it does not, remove the dll from the NopCommerceWeb/Build folder)
(although the solution builds, it won't start because of the requirePermission issue)

-in the web.config file, add requirePermission="false" to all Nop commerce configSections as follows:

    <section name="NopConfig" type="NopSolutions.NopCommerce.Common.Configuration.NopConfig, Nop.Common" requirePermission="false"/>
    <section name="urlrewritingnet" requirePermission="false"  type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter"/>
    <sectionGroup name="nopDataProviders" type="NopSolutions.NopCommerce.DataAccess.Configuration.nopDataProvidersSectionGroup, Nop.DataAccess">
      <section name="LogProvider" type="NopSolutions.NopCommerce.DataAccess.Audit.DBLogProviderSection, Nop.DataAccess" requirePermission="false"/>
      <section name="SearchLogProvider" type="NopSolutions.NopCommerce.DataAccess.Audit.DBSearchLogProviderSection, Nop.DataAccess"  requirePermission="false"/>      
      <section name="CategoryProvider" type="NopSolutions.NopCommerce.DataAccess.Categories.DBCategoryProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ProductCategoryProvider" type="NopSolutions.NopCommerce.DataAccess.Categories.DBProductCategoryProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="SettingProvider" type="NopSolutions.NopCommerce.DataAccess.Configuration.Settings.DBSettingProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="BlogCommentProvider" type="NopSolutions.NopCommerce.DataAccess.Content.Blog.DBBlogCommentProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="BlogPostProvider" type="NopSolutions.NopCommerce.DataAccess.Content.Blog.DBBlogPostProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="NewsProvider" type="NopSolutions.NopCommerce.DataAccess.Content.NewsManagement.DBNewsProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="NewsCommentProvider" type="NopSolutions.NopCommerce.DataAccess.Content.NewsManagement.DBNewsCommentProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="PollProvider" type="NopSolutions.NopCommerce.DataAccess.Content.Polls.DBPollProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="PollAnswerProvider" type="NopSolutions.NopCommerce.DataAccess.Content.Polls.DBPollAnswerProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="AddressProvider" type="NopSolutions.NopCommerce.DataAccess.CustomerManagement.DBAddressProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="CustomerProvider" type="NopSolutions.NopCommerce.DataAccess.CustomerManagement.DBCustomerProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="CustomerAttributeProvider" type="NopSolutions.NopCommerce.DataAccess.CustomerManagement.DBCustomerAttributeProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="CustomerRoleProvider" type="NopSolutions.NopCommerce.DataAccess.CustomerManagement.DBCustomerRoleProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="CustomerSessionProvider" type="NopSolutions.NopCommerce.DataAccess.CustomerManagement.DBCustomerSessionProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="CountryProvider" type="NopSolutions.NopCommerce.DataAccess.Directory.DBCountryProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="CurrencyProvider" type="NopSolutions.NopCommerce.DataAccess.Directory.DBCurrencyProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="LanguageProvider" type="NopSolutions.NopCommerce.DataAccess.Directory.DBLanguageProviderSection, Nop.DataAccess" requirePermission="false"/>
      <section name="StateProvinceProvider" type="NopSolutions.NopCommerce.DataAccess.Directory.DBStateProvinceProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="LocaleStringResourceProvider" type="NopSolutions.NopCommerce.DataAccess.Localization.DBLocaleStringResourceProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ManufacturerProvider" type="NopSolutions.NopCommerce.DataAccess.Manufacturers.DBManufacturerProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ProductManufacturerProvider" type="NopSolutions.NopCommerce.DataAccess.Manufacturers.DBProductManufacturerProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="MeasureDimensionProvider" type="NopSolutions.NopCommerce.DataAccess.Measures.DBMeasureDimensionProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="MeasureWeightProvider" type="NopSolutions.NopCommerce.DataAccess.Measures.DBMeasureWeightProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="DownloadProvider" type="NopSolutions.NopCommerce.DataAccess.Media.DBDownloadProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="PictureProvider" type="NopSolutions.NopCommerce.DataAccess.Media.DBPictureProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="LocalizedMessageTemplateProvider" type="NopSolutions.NopCommerce.DataAccess.Messages.DBLocalizedMessageTemplateProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="MessageTemplateProvider" type="NopSolutions.NopCommerce.DataAccess.Messages.DBMessageTemplateProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="OrderProvider" type="NopSolutions.NopCommerce.DataAccess.Orders.DBOrderProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="OrderNoteProvider" type="NopSolutions.NopCommerce.DataAccess.Orders.DBOrderNoteProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="OrderProductVariantProvider" type="NopSolutions.NopCommerce.DataAccess.Orders.DBOrderProductVariantProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="OrderStatusProvider" type="NopSolutions.NopCommerce.DataAccess.Orders.DBOrderStatusProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ShoppingCartProvider" type="NopSolutions.NopCommerce.DataAccess.Orders.DBShoppingCartProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="CreditCardTypeProvider" type="NopSolutions.NopCommerce.DataAccess.Payment.DBCreditCardTypeProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="PaymentMethodProvider" type="NopSolutions.NopCommerce.DataAccess.Payment.DBPaymentMethodProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="PaymentStatusProvider" type="NopSolutions.NopCommerce.DataAccess.Payment.DBPaymentStatusProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ProductAttributeProvider" type="NopSolutions.NopCommerce.DataAccess.Products.Attributes.DBProductAttributeProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ProductVariantAttributeProvider" type="NopSolutions.NopCommerce.DataAccess.Products.Attributes.DBProductVariantAttributeProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ProductVariantAttributeValueProvider" type="NopSolutions.NopCommerce.DataAccess.Products.Attributes.DBProductVariantAttributeValueProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ProductSpecificationAttributeProvider" type="NopSolutions.NopCommerce.DataAccess.Products.Specs.DBProductSpecificationAttributeProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="SpecificationAttributeProvider" type="NopSolutions.NopCommerce.DataAccess.Products.Specs.DBSpecificationAttributeProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ProductProvider" type="NopSolutions.NopCommerce.DataAccess.Products.DBProductProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ProductPictureProvider" type="NopSolutions.NopCommerce.DataAccess.Products.DBProductPictureProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ProductReviewProvider" type="NopSolutions.NopCommerce.DataAccess.Products.DBProductReviewProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ProductTypeProvider" type="NopSolutions.NopCommerce.DataAccess.Products.DBProductTypeProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ProductVariantProvider" type="NopSolutions.NopCommerce.DataAccess.Products.DBProductVariantProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="RelatedProductProvider" type="NopSolutions.NopCommerce.DataAccess.Products.DBRelatedProductProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="AffiliateProvider" type="NopSolutions.NopCommerce.DataAccess.Promo.Affiliates.DBAffiliateProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="CampaignProvider" type="NopSolutions.NopCommerce.DataAccess.Promo.Campaigns.DBCampaignProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="DiscountProvider" type="NopSolutions.NopCommerce.DataAccess.Promo.Discounts.DBDiscountProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="DiscountRequirementProvider" type="NopSolutions.NopCommerce.DataAccess.Promo.Discounts.DBDiscountRequirementProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="DiscountTypeProvider" type="NopSolutions.NopCommerce.DataAccess.Promo.Discounts.DBDiscountTypeProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ShippingByTotalProvider" type="NopSolutions.NopCommerce.DataAccess.Shipping.DBShippingByTotalProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ShippingByWeightProvider" type="NopSolutions.NopCommerce.DataAccess.Shipping.DBShippingByWeightProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ShippingByWeightAndCountryProvider" type="NopSolutions.NopCommerce.DataAccess.Shipping.DBShippingByWeightAndCountryProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ShippingMethodProvider" type="NopSolutions.NopCommerce.DataAccess.Shipping.DBShippingMethodProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ShippingRateComputationMethodProvider" type="NopSolutions.NopCommerce.DataAccess.Shipping.DBShippingRateComputationMethodProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ShippingStatusProvider" type="NopSolutions.NopCommerce.DataAccess.Shipping.DBShippingStatusProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="TaxByCountryProvider" type="NopSolutions.NopCommerce.DataAccess.Tax.DBTaxByCountryProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="TaxByStateProvinceProvider" type="NopSolutions.NopCommerce.DataAccess.Tax.DBTaxByStateProvinceProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="TaxCategoryProvider" type="NopSolutions.NopCommerce.DataAccess.Tax.DBTaxCategoryProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="TaxProviderProvider" type="NopSolutions.NopCommerce.DataAccess.Tax.DBTaxProviderProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="CategoryTemplateProvider" type="NopSolutions.NopCommerce.DataAccess.Templates.DBCategoryTemplateProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ManufacturerTemplateProvider" type="NopSolutions.NopCommerce.DataAccess.Templates.DBManufacturerTemplateProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="ProductTemplateProvider" type="NopSolutions.NopCommerce.DataAccess.Templates.DBProductTemplateProviderSection, Nop.DataAccess"  requirePermission="false"/>
      <section name="WarehouseProvider" type="NopSolutions.NopCommerce.DataAccess.Warehouses.DBWarehouseProviderSection, Nop.DataAccess"  requirePermission="false"/>
    </sectionGroup>


Enjoy NopCommerce in partial trust!

Gius

PS. Do not forget to remove the <trust level="Medium"/> line from web.config before uploading to a partial trust hosting environment.
15 years ago
Thanks! It will be fixed in the next release
15 years ago
Hello gius,

It looks like I am having this problem. I followed your steps, build the new version and uploaded via FTP, but I can't make it run. This is the error I am getting.

[quote]Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: This configuration section cannot be used at this path.  This happens when the site administrator has locked access to this section using <location allowOverride="false"> from an inherited configuration file.

Source Error:


Line 126:  </urlrewritingnet>
Line 127:  <system.web>
Line 128:    <trust level="Medium"/>
Line 129:    <httpRuntime maxRequestLength="51200" />
Line 130:


Source File: D:\Hosting\3005502\html\web.config    Line: 128 [/quote]

The error is pointed in "red" exactly at line 128.

Can you tell me what I am doing wrong?

Thanks in advance
P.S. Are there any demo sites availabe?
15 years ago
http://www.pineappleboudoir.co.uk/
15 years ago
Sorry, my mistake - the row
<trust level="Medium"/>

should be removed before uploading to the hosting environment.
15 years ago
thanks gius,

this is working fine,
15 years ago
Thanks Guys,
this information really helped me to install nopcommerce in Godaddy.com

Carlos Mejia
Granada, Nicaragua
15 years ago
hi,
I follow your instruction and it works. But I got another issue.
In Administrator panel, I've tried to access CategoryDetails.aspx, ProductDetails.aspx and ManufacturerDetails.aspx (Site Structure tab) and it said:
[quote]Server Error in '/' Application.
Security Exception
Description: The application attempted to perform an operation not allowed by the security policy.  To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.

Exception Details: System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.ReflectionPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[SecurityException: Request for the permission of type 'System.Security.Permissions.ReflectionPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
   System.Security.CodeAccessSecurityEngine.ThrowSecurityException(Assembly asm, PermissionSet granted, PermissionSet refused, RuntimeMethodHandle rmh, SecurityAction action, Object demand, IPermission permThatFailed) +150
   System.Security.CodeAccessSecurityEngine.ThrowSecurityException(Object assemblyOrString, PermissionSet granted, PermissionSet refused, RuntimeMethodHandle rmh, SecurityAction action, Object demand, IPermission permThatFailed) +100
   System.Security.CodeAccessSecurityEngine.CheckSetHelper(PermissionSet grants, PermissionSet refused, PermissionSet demands, RuntimeMethodHandle rmh, Object assemblyOrString, SecurityAction action, Boolean throwException) +284
   System.Security.PermissionSetTriple.CheckSetDemand(PermissionSet demandSet, PermissionSet& alteredDemandset, RuntimeMethodHandle rmh) +69
   System.Security.PermissionListSet.CheckSetDemand(PermissionSet pset, RuntimeMethodHandle rmh) +150
   System.Security.PermissionListSet.DemandFlagsOrGrantSet(Int32 flags, PermissionSet grantSet) +30
   System.Threading.CompressedStack.DemandFlagsOrGrantSet(Int32 flags, PermissionSet grantSet) +40
   System.Security.CodeAccessSecurityEngine.ReflectionTargetDemandHelper(Int32 permission, PermissionSet targetGrant, CompressedStack securityContext) +123
   System.Security.CodeAccessSecurityEngine.ReflectionTargetDemandHelper(Int32 permission, PermissionSet targetGrant) +54


Version Information: Microsoft .NET Framework Version:2.0.50727.3074; ASP.NET Version:2.0.50727.3074 [/quote]

This error occurs whenever I access these 3 pages. Others work perfect.
my host is from SoftsysHosting.com
Can anyone help me to fix this?
thanks in advance
15 years ago
I'm having the same problem.  I already have the site up and running at GoDaddy but what can I do to fix it from there without having to rebuilt it and up it?
14 years ago
Yes, I have the same problem in Administration attempting to edit my sample products and category's.

Do you have a fix?
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.