I am trying to install DOTNETNUKE model on my local machine ( Windows Vista) but seem to be running into a problem right after installing the Database. Not exactly sure where to go to fix the problem or what I need to do next. Anyone have any idea how I can deal with this? Thanks in advance.
DotNetNuke Error
--------------------------------------------------------------------------------
Domain Name Windows Vista Does Not Exist In The Database
DotNetNuke supports multiple portals from a single database/codebase. It
accomplishes this by converting the URL of the client browser Request to
a valid PortalID in the Portals database table. The following steps
describe the process:
Web Server Processing
When a web server receives a Request from a client browser, it compares the
file name extension on the target URL resource to its Application Extension
Mappings defined in IIS.
Based on the corresponding match, IIS then sends the Request to the defined
Executable Path ( aspnet_asapi.dll in the case of ASP.NET Requests ). The
aspnet_isapi.dll engine processes the Request in an ordered series of events
beginning with Application_BeginRequest.
HttpModule.URLRewrite OnBeginRequest ( UrlRewriteModule.vb )
The Request URL is parsed based on the "/" character
A Domain Name is constructed using each of the relevant parsed URL segments.
Examples:
URL: http://www.domain.com/default.aspx = Domain Name: www.domain.com
URL: http://209.75.24.131/default.aspx = Domain Name: 209.75.24.131
URL: http://localhost/DotNetNuke/default.aspx = Domain Name: localhost/DotNetNuke
URL: http://www.domain.com/virtualdirectory/default.aspx = Domain Name: www.domain.com/virtualdirectory
URL: http://www.domain.com/directory/default.aspx = Domain Name: www.domain.com/directory
Using the Domain Name, the application queries the database ( Portals table -
PortalAlias field ) to locate a matching record.
Note: If there are multiple URLs which correspond to the same portal then the
PortalAlias field must contain each valid Domain Name in a comma seperated list.
Example:
URL: http://localhost/DotNetNuke/default.aspx
URL: http://MACHINENAME/DotNetNuke/default.aspx
URL: http://209.32.134.65/DotNetNuke/default.aspx
PortalAlias: localhost/DotNetNuke,MACHINENAME/DotNetNuke,209.32.134.65/DotNetNuke
Note: If you are installing the application to a remote server you must
modify the PortalAlias field value for the default record in the Portals
table according to the rules defined above.
Its hard to tell the status of your installation. I'll assume that the database was created and populated during install.
Firstly, look at the table
dbo.PortalAlias
If your planning to run/debug on your local IIS, then you should have an entry for HTTPAlias of
localhost/YOURVIRTUALDIR
When you installed, it is possible that the last step, the default installation of the Portal did not execute. In a similar case, when I selected "Custom" installation, I found that this last step was missing, but didn't yield an error.
Resolution: reinstall (remove everything or install to a new location, use another DB or remove this one prior to reinstalling) and select "Auto" installation for the online wizard. This works and includes the creation of the default portal. Anything automatically configured can be altered later anyway.
I know this might be very late, but for anyone having this issue,
I had the same issue, after I made sure that I have updated the "Portal Alias" table in db, to have a HTTP Alias (for my local host, I set it to localhost:8089 which was equal to what I had set up in IIS binding for DNN website), with the portal ID of 0 (as my portal id was 0),
I was checking to be sure I have updated web.config file with data base connection strings, but then I realized there were two points for database connection in web.config, and I was missing one of them.
So make sure to update both two connections as:
1) <connectionStrings>
2) <appSettings>
Hope this helps.
Related
We are developing an application to open and edit protected PDF files using the MIP SDK (we're currently using version 1.6.103).
So far, we were able to open files protected with different versions of Microsoft protection, including MicrosoftIRMServices version 1.
We are now hitting a problem with one of our customers. They keep their files on a SharePoint 2016 directory, which is configured to automatically add protection to all files uploaded. All their environment is on-premise and AD RMS Service is used for protection. They do not have Azure IP on server side.
When we download the resulting file and try to open, we create a mipns::FileEngine and then invoke CreateFileHandlerAsync() to create a mipns::FileHandler. This call fails with the following mipns::NetworkError:
NetworkError : Content protected by on prem servers is unsupported., NetworkError.Category=FailureResponseCode, HttpRequest.SanitizedUrl=https://api.aadrm.com/my/v2/enduserlicenses,
As the error suggests, I suspect the issue is with the usage of an on-premise protection.
I thought it might be resolved following the instructions at
https://learn.microsoft.com/en-us/information-protection/develop/quick-app-adrms#configuring-protection-api-in-c-to-use-ad-rms
so, following those instructions, I created the FileEngine with
ProtectionEngine::Settings engineSettings("", authDelegate, "");
engineSettings.SetProtectionCloudEndpointBaseUrl("http://<my server>/_wmcs/licensing");
but so far no success, although the error has changed and is now
NetworkError : The protection service is unavailable., NetworkError.Category=FailureResponseCode, HttpRequest.SanitizedUrl=https://<my server>/my/v1/enduserlicenses,
(where of course <my server> is replaced with a local service)
Am I going in the wrong direction? If not, perhaps I am using the wrong endpoint? How can I find the endpoint URL to be passed to SetProtectionCloudEndpointBaseUrl as suggested in the linked page?
Thanks
This is likely caused by a missing MDE install or MDE SRV record. You'll need to validate that mobile device extensions for AD RMS has been deployed and configured. If it has, you'll also need to validate that the SRV record is in place for any mail suffixes your customer is using. For example, if the RMS service is at RMS.FABRIKAM.COM, but your customer email addresses are #Contoso.com, you'd need an SRV record that looks like _rmsdisco._http._tcp.contoso.com which would then point to the server at RMS.FABRIKAM.COM.
The base URL isn't used in consumption scenarios. It's only for publishing. That said, looks like you've set the _wmcs endpoint, but we expect only the base for AD RMS:
ProtectionCloudEndpointBaseUrl = "https://rms.contoso.com"
That's only required when you don't provide a mip::Identity object when creating the file engine. If you do provide the identity, we'll use the domain suffix to look up the DNS record and chase that referral.
I have the following scenario:
Server A:abpWeb;
Server B:abpWeb;
A and B are based on MyCompanyName.AbpZero template, abp. Net core version 3.1.1;aspnetboilerplate
Browser access A:abpWeb and B:abpWeb. But after logging in, cookie shared is invalid.
A:User.Identity?.IsAuthenticated equals true after Browser access A:Login;
But refresh B:/index on the browser,B:User.Identity?.IsAuthenticated equals false;
The same browser domain for A and B is the same.
I created two new ASP.NET Core 2.0 MVC apps with ASP.NET Core Identity, using AddDataProtection for the normal shared cookie is ok.
I referred to:
https://learn.microsoft.com/en-us/aspnet/core/security/cookie-sharing?tabs=aspnetcore2x
I am searching for a long time on net. But no use. Please help or try to give some ideas how to achieve this.
Thanks in advance.
The keys that encrypt/decrypt your cookies are probably trying to be written to an invalid folder.
By default AddDataProtection tries to write these keys to:
%LOCALAPPDATA%\ASP.NET\DataProtection-Keys
As long as there is an environment variable being used to create the keys path, you will need to set the following config file setting to true.
Please also see my other answer here:
IIS - AddDataProtection PersistKeysToFileSystem not creating
Fix: Within %WINDIR%\System32\inetsrv\config\applicationHost.config set setProfileEnvironment=true. I think you have to restart IIS as well.
i’m stuck.
I want to move a magento shop to a new domein.
Example: From testdomain.com/shop to newdomain.com/shop
I worked like this so the old shop on newdomain.com was able to keep running while building a new store on a testplace.
How can i move the shop to the newdomain.com ??
I made a sql backup from the testshop; this is a file of 15MB.
In the file there are references to testdomain.com. Offcource; i need to replace them by newdomain.com.
This replacing takes along time and mostly end ups in crashing file.
Is there another way to move a shop to a new domain ??
Thanks,
Dave
http://p1.b7d.com/magento/meghzal/
dont play with your sql file just import it as it is. if you only have 1 store view you only have to change 2 values to make you shop running.
Copy all file to you new webserver
Make the media and the var folder writeable by the webserver
Edit 'app/etc/local.xml' normally you only have to edit the database connection
With you favorite mysql tool edit the values under these paths: web/unsecure/base_url and web/secure/base_url set them to your new domain like http://newdomain.com/. if you have an ssl certificate use https for the secured one if not use normal http.
Now very important clear the cache. normally the cache is under var/cache but in case this one is not writable magento switches to the tmp folder of you server. So check you tmp folder for something like /tmp/magento and remove it
If you need to COPY installation of Magento to another server use the manual by Fantus here. Beware of different php.ini configuration, and OS (from Win to Unix set correct the rights by chmod)
If you have the same installation and ONLY CHANGING ENTRANCE DOMAIN to the same installation of Magento:
configure your domain A record to IP adress of your server
configure a vitual host of your ewb server (apache or etc) to reverse domain to magento folder
change configuration of new domain in magento/app/local.xml
Clear the magento/var/ folder (not neesesary)
The setup I have is as follows:
I have one Apache server acting as a URL rewriting engine (SERVER1).
I have a second server (Apache too) which runs a web application (SERVER2). First tries to authenticate users. Part of the authentication protocol involves a lot of redirection between that application server and the authentication server.
My problem is that once the authencation is successfull, the authentication server needs to redirect the user back to the application server, which is only visible from SERVER1. Effectively, SERVER2 needs to be able to reconstruct a URL based on SERVER1's parameters.
Most of the environement variable are helpful i.e. I know the host name, script name, page called etcc but I can 't figure out wether the call was made through HTTP or HTTPS: that information is wiped in the rewrite process by SERVER1...
Anybody knows if/how I can get that information through environement variables? I am limited in that I can't use query string parameters...
Thanks all !
This may sound strange, but I have found part of the answer to my question.
The rewrite engine (at least in Apache 2, I haven't looked anywhere else) allows for writting extra request header.
The rule should look something like that.
RewriteRule .* -
[E=INFO_PATH_INFO:%{PATH_INFO},NE]
Put simple, it creates a new header called INFO_PATH_INFO and sets the value to PATH_INFO.
( For more info check out http://www.askapache.com/htaccess/crazy-advanced-mod_rewrite-tutorial.html )
Then it can be retrieved in any languages.
For info I am using Oracle's OWA which adds an extra layer of complication due to the fact that the default environment variables are limited to a few and additional variables need to be specified in thr dads.conf
Hope this will help anyone !
My company currently builds separate MSI's for all of our clients, even though the app is 100% the same across the board (with a single exception, an ID in the app.config).
I would like to show them that we can publish in once place with ClickOnce, and simply add a query string parameter for each client's installer.
Example: http://mysite.com/setup.exe?ID=1234-56-7890
The issue that I'm having is that the above ("ID=1234...") is not being passed along to the "myapplication.application". What is happening instead is, the app is being installed successfully, and it is running the first time with an activation context, but the "ActivationUri" does not contain any query string values.
Is there a way to pass query string values FROM THE INSTALLER URL to the application's launch URL? If so, how?
After much searching (and discussing), the answer is simply that the current version of ClickOnce doesn't work that way. The installer does not pass the URL onto the application up it's first run.
Here is what I have done for a workaround (and it works great).
Change my setup package to have all of the required files uncompressed and loose (as apposed to using a CAB file, or embedding them in the installer).
Make an ASP.NET application (using Routing for URL handling) that listens for a request to "mysite.com/Installer/00123/Setup.exe"
Note: the route should listen for "/Installer/{ID}/*" where {ID} is 5 digits.
There is actually no directory called "00123", but rather, I'm using ASP.NET Routing to pickup those requests and then I map it to my actual directory that has the installer file in it.
I then hijack the request (parse the setup.exe to find the embedded URL that tells the installer program where to find the rest of the files... I then replace "/00000/" with the request URL that the user went to - in this case "00123".
As each file is being requested, I know which "version" of the file to send, because the ClickOnce Installer will be looking for "mysite.com/Installer/00123/SomeFile.dll" (or whatever).
Instead of using a 5-digit ID, you could use a GUID... it's up to you.
This solution works great for our organization... we currently have 37 clients who require unique customizations to their installer package, but we only have to actually build and publish ONE installer package and simply use the hijack method above.
At this point we have placeholders that we swap out so that it's easy to customize installers for as many clients as we want.
Example: in the app.config file we have displayName="{OrgName}" which is automatically replaced by one of the values in the database.
For me, "http://mysite.com/myapplication.application?id=1234-56-7890" seems to do the trick.
I know this is outdated, but I just wanted to provide the current solution.
To retrieve querystring parameters in a ClickOnce application:
Point the app/download/setup link to the application (with .application extension), not "setup.exe"
Add this function to your ClickOnce application to retrieve the querystring parameter collection:
private NameValueCollection GetQueryStringParameters()
{
NameValueCollection nameValueTable = new NameValueCollection();
if (ApplicationDeployment.IsNetworkDeployed)
{
string queryString = ApplicationDeployment.CurrentDeployment.ActivationUri.Query;
nameValueTable = HttpUtility.ParseQueryString(queryString);
}
return (nameValueTable);
}
Then to get a querystring param value:
var querystringParams = GetQueryStringParameters();
string param_value = querystringParams["param_name"];
Don't forget the Usings:
using System.Collections.Specialized;
using System.Deployment.Application;
using System.Web;
Source: https://learn.microsoft.com/en-us/visualstudio/deployment/how-to-retrieve-query-string-information-in-an-online-clickonce-application?view=vs-2019