Я работаю над проектом ASP.NET MVC с использованием (VS 2019 Preview для Mac) и застрял при входе в систему и регистрации. Когда я звоню Membership.GetUser(login)
, я всегда получаю NULL
в качестве возврата. На Windows 7 VM я могу получить информацию о пользователе (например, пароль), но Membership.ValidateUser()
по-прежнему возвращает false
даже на виртуальной машине.
Хорошо. Я проверил applicationName
свойство в Web.config
и в базе данных. Они равны.
Мой Web.config
:
...
<membership defaultProvider="AspNetSqlMembershipProvider">
<providers>
<clear />
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="EntitiesModel" enablePasswordRetrieval="true" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="10" minRequiredPasswordLength="5" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordFormat="Encrypted" applicationName="/" />
</providers>
</membership>
...
В выводе VS2019 для Mac я получаю эту ошибку, когда:
var pass = user.GetPassword();
Ошибка
System.ArgumentNullException: ссылка на строку не установлена для экземпляра строки.
Имя параметра: s
в System.Text.Encoding.GetBytes (System.String s) [0x00003] в / Users / builder / jenkins / workspace / build-package-osx-mono / 2018-10 / external / bockbuild / builds / mono-x64 / mcs /class/referencesource/mscorlib/system/text/encoding.cs:1091
в System.Web.Security.SqlMembershipProvider.EncodePassword (пароль System.String, System.Web.Security.MembershipPasswordFormat passwordFormat, соль System.String) [0x000ee] в / Users / builder / jenkins / workspace / build-package-osx-mono /2018-10/external/bockbuild/builds/mono-x64/mcs/class/System.Web/System.Web.Security/SqlMembershipProvider.cs:1066
в System.Web.Security.SqlMembershipProvider.GetPassword (имя пользователя System.String, пароль System.StringAnswer) [0x00053] в / Users / builder / jenkins / workspace / build-package-osx-mono / 2018-10 / external / bockbuild / строит / моно-x64 / MCS / класс / System.Web / System.Web.Security / SqlMembershipProvider.cs: 545
в System.Web.Security.MembershipUser.GetPassword (System.String passwordAnswer) [0x00000] в / Users / builder / jenkins / workspace / build-package-osx-mono / 2018-10 / external / bockbuild / builds / mono-x64 /mcs/class/System.Web.ApplicationServices/System.Web.Security/MembershipUser.cs:124
в System.Web.Security.MembershipUser.GetPassword () [0x00000] в / Users / builder / jenkins / workspace / build-package-osx-mono / 2018-10 / external / bockbuild / builds / mono-x64 / mcs / class /System.Web.ApplicationServices/System.Web.Security/MembershipUser.cs:119
в BLL.Core.UserManager.LoginAndGetUser (вход в систему System.String, пароль System.String, System.String & msg, System.String checkedRole) [0x00031] в [пути к моему проекту] /BLL/Core/UserManager.cs:107
в BLL.Core.UserManager.Login (вход в систему System.String, пароль System.String, System.String & msg, System.String checkedRole) [0x0001c] в [путь к моему проекту] /BLL/Core/UserManager.cs:150