0

私の開発環境で正常に動作する MVC 3 アプリケーションがあります (以前に聞いたことがあるはずです..)テストのために無料のホスティング サービスhttp://somee.comにデプロイしています。.NET フレームワークは 4 に設定されています。 . カスタム メンバーシップ プロバイダーがあります。データベースで確認できるように、ユーザーを登録できますが、ユーザーは認証されません。登録後またはログオン時に、常にログオン ページにリダイレクトされます。私はbin展開を行い、binフォルダーにこのdllを持っています:

System.Web.Mvc
Microsoft.Web.Infrastructure
System.Web.Razor
System.Web.WebPages
System.Web.WebPages.Razor System.Web.Helpers

構成内: ...

   <add key="loginUrl" value="~/Account/Logon" />
  </appSettings>
....
    <membership defaultProvider="ServiceMembershipProvider">
      <providers>
        <clear/>
        <add name="ServiceMembershipProvider"
             type="Infrastruture.ServiceMembershipProvider, Infrastruture" />
      </providers>
    </membership>
  <authentication mode="Forms">
      <forms loginUrl="~/Account/LogOn" timeout="2880" />
    </authentication>

コントローラー:

  [HttpPost]
        public ActionResult Register(FormCollection registration)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var registrationViewModel = MapFormToRegistrationViewModel(registration);
                    companyManager.RegisterCompany(registrationViewModel);
                    FormsAuthentication.SetAuthCookie(registrationViewModel.SystemUserViewModel.Email, false);
                    return RedirectToAction("Welcome", "Home");
                }
                else
                {
                    ModelState.AddModelError("", "LogId already taken");
                }
            }
            catch(Exception ex)
            {
                               return View("Register", new RegistrationViewModel(dataReferenceService));
            }

            return View("Register", new RegistrationViewModel(dataReferenceService));
        }
    /* /Home/Welcome */
    [Authorize]
    public ActionResult Welcome()
    { return View(); }

今アイデアが不足しています...

4

1 に答える 1

2

これは古い質問であることは知っていますが、同様の問題があり、答えを探しているときにこれを見つけました。

解決策は、次の設定を Web 構成ファイルに追加することです。

<appSettings>
<add key="enableSimpleMembership" value="false"/>
</appSettings>

これが必要な理由は、一部のプリアプリケーション起動コードにデフォルト設定の問題があるように見えるためです。

より良い説明と、この解決策を見つけた場所はこちら

于 2012-02-20T10:06:47.010 に答える