[Mono-list] System.Web.Security.Membership causes an exception on mono platform
Olli Heiskanen
ohjelmistoarkkitehti at gmail.com
Sat Jan 17 10:20:37 UTC 2015
Hello,
A little more information on this:
The actual problem is an error that says "Failed to map path '/'", that is
what I get in an inner exception:
System.InvalidOperationException
Failed to map path '/'
at System.Web.HttpRequest.MapPath (System.String virtualPath,
System.String baseVirtualDir, Boolean allowCrossAppMapping) [0x001a4] in
/usr/local/src/mono/mcs/class/System.Web/System.Web/HttpRequest.cs:1563
at System.Web.HttpRequest.MapPath (System.String virtualPath) [0x0000d]
in /usr/local/src/mono/mcs/class/System.Web/System.Web/HttpRequest.cs:1520
at System.Web.Hosting.HostingEnvironment.MapPath (System.String
virtualPath) [0x00042] in
/usr/local/src/mono/mcs/class/System.Web/System.Web.Hosting/HostingEnvironment.cs:156
at System.Web.Hosting.DefaultVirtualPathProvider.DirectoryExists
(System.String virtualDir) [0x00016] in
/usr/local/src/mono/mcs/class/System.Web/System.Web.Hosting/DefaultVirtualPathProvider.cs:59
at System.Web.Configuration.WebConfigurationManager.FindWebConfig
(System.String path, System.Boolean& inAnotherApp) [0x0001a] in
/usr/local/src/mono/mcs/class/System.Web/System.Web.Configuration_2.0/WebConfigurationManager.cs:592
at System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration
(System.String path, System.String site, System.String locationSubPath,
System.String server, System.String userName, System.String password,
Boolean fweb) [0x00026] in
/usr/local/src/mono/mcs/class/System.Web/System.Web.Configuration_2.0/WebConfigurationManager.cs:360
at System.Web.Configuration.WebConfigurationManager.GetSection
(System.String sectionName, System.String path, System.Web.HttpContext
context) [0x0000d] in
/usr/local/src/mono/mcs/class/System.Web/System.Web.Configuration_2.0/WebConfigurationManager.cs:456
at System.Web.Configuration.WebConfigurationManager.GetSection
(System.String sectionName, System.String path) [0x00000] in
/usr/local/src/mono/mcs/class/System.Web/System.Web.Configuration_2.0/WebConfigurationManager.cs:435
at System.Web.Security.SqliteMembershipProvider.Initialize (System.String
name, System.Collections.Specialized.NameValueCollection config) [0x0028b]
in
/usr/local/src/mono/mcs/class/System.Web/System.Web.Security/SqliteMembershipProvider.cs:143
at System.Web.Configuration.ProvidersHelper.InstantiateProvider
(System.Configuration.ProviderSettings providerSettings, System.Type
providerType) [0x00069] in
/usr/local/src/mono/mcs/class/System.Web/System.Web.Configuration_2.0/ProvidersHelper.cs:61
at System.Web.Configuration.ProvidersHelper.InstantiateProviders
(System.Configuration.ProviderSettingsCollection configProviders,
System.Configuration.Provider.ProviderCollection providers, System.Type
providerType) [0x0003e] in
/usr/local/src/mono/mcs/class/System.Web/System.Web.Configuration_2.0/ProvidersHelper.cs:72
My Web.config does not have any custom stuff, other than a custom
membership provider, but the same error occurs on a fresh mvc3 site without
any added code or customizations.
My apache/mod_mono configuration is directly from
http://go-mono.com/config-mod-mono/, without any change, here it is:
Alias /boacommander "/var/www/html/boacommander"
MonoServerPath boacommander "/usr/bin/mod-mono-server4"
MonoDebug boacommander true
MonoSetEnv boacommander MONO_IOMAP=all
MonoApplications boacommander "/boacommander:/var/www/html/boacommander"
<Location "/boacommander">
Allow from all
Order allow,deny
MonoSetServerAlias boacommander
SetHandler mono
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI "\.(?:gif|jpe?g|png)$" no-gzip dont-vary
</Location>
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml
text/javascript
</IfModule>
I have observed this error on mono versions 3.10.0, 3.10.1 and 3.12.0, all
compiled from git branches.
Based on my searches for a solution, I've seen some posts where this error
occurs on a windows platform and a workaround is to run Visual Studio as
administrator. This is not what I can do as the error does not occur on my
windows platform, and apache process is run as root.
Still I feel this might be a configuration issue, as it has something to do
with path mapping. So far though, I've not found a configuration change
that would solve the issue.
cheers,
Olli
2015-01-13 17:50 GMT+02:00 Olli Heiskanen <ohjelmistoarkkitehti at gmail.com>:
>
> Hello,
>
> I'm trying to deploy a MVC3 site on a CentOS server using mono and
> mod_mono on apache. After a week of agonizing installations and
> configurations, I got the site up, but a MembershipProvider still acts up.
> My mono version is 3.10.0, installed from source and got from a git branch.
>
> While the code works fine on a windows machine, in a mono environment I
> get an exception while trying to log in, at the row below:
> if (Membership.ValidateUser(userid, password))
>
> The exception message is:
> An exception was thrown by the type initializer for
> System.Web.Security.Membership
>
> The stack trace does not tell much:
> at boa.BoaCommander.Controllers.AccountController.VerifyUser
> (System.String userid, System.String password, Boolean rememberme)
> [0x00000] in <filename unknown>:0
>
> In my Web.config I have the membership provider defined like this:
> <membership defaultProvider="BoaMembershipProvider">
> <providers>
> <add name="BoaMembershipProvider"
> type="BoaCommander.Providers.BoaMembershipProvider"
> connectionStringName="BoaMySqlConnection" applicationName="BOA"
> passwordFormat="Hashed"/>
> </providers>
> </membership>
>
> ... and the class BoaMembershipProvider inherits MembershipProvider.
>
> What can I do to fix this problem? I'd appreciate Your comments.
>
> cheers,
> Olli
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-list/attachments/20150117/fa729b3e/attachment.html>
More information about the Mono-list
mailing list