2017-06-16 7 views
0

私はユーザーにログインするためのWebプロジェクトを持っています。それは、ユーザーに署名し、 ".AspNet.ApplicationCookie"クッキーを作成し、いくつかのルールに基づいて選択する "〜/ Views /../ Redirect.cshtml"というページにリダイレクトします。にリダイレクトされました。非常に単純な、 "リダイレクト..."メッセージとsetTimeout関数。2つのMVCプロジェクト間で.AspNet.ApplicationCookieを共有

問題がある...ウェブサイト2サイト1で作成されたクッキーを認識し、戻ったばかりのサイト1.

に対するユーザーのいくつかの情報に移動しません: 1 - ローカル 2の両方のサイトを実行している作品 - サイト1 2つは同じドメイン上で実行されている同じサーバーにあり、異なるポートのみです。 3 - このクラスをDomainプロジェクトに移動して以来、両方のサイトが同じApplicationUserManager.Create呼び出しを共有しています。

public void ConfigureAuth(IAppBuilder app) 
     { 
      // Configure the db context, user manager and signin manager to use a single instance per request 
      app.CreatePerOwinContext(AccountDbContext.Create); 
      app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create); 
      app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create); 

      // Enable the application to use a cookie to store information for the signed in user 
      // and to use a cookie to temporarily store information about a user logging in with a third party login provider 
      // Configure the sign in cookie 
      app.UseCookieAuthentication(new CookieAuthenticationOptions 
      { 
       AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, 
       LoginPath = new PathString("/Account/Login"), 
       Provider = new CookieAuthenticationProvider 
       { 
        // Enables the application to validate the security stamp when the user logs in. 
        // This is a security feature which is used when you change a password or add an external login to your account. 
        OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
         validateInterval: TimeSpan.FromMinutes(30), 
         regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager, DefaultAuthenticationTypes.ApplicationCookie)) 
       } 
      }); 
      app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); 

      // Enables the application to temporarily store user information when they are verifying the second factor in the two-factor authentication process. 
      app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5)); 

      // Enables the application to remember the second login verification factor such as phone or email. 
      // Once you check this option, your second step of verification during the login process will be remembered on the device where you logged in from. 
      // This is similar to the RememberMe option when you log in. 
      app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie); 
     } 

答えて

0

それは問題はアプリケーションプールだったことが判明し、次のように

Startup.csです。同じCookieを共有するすべてのサイトは、同じアプリケーションプール上で実行する必要があります。一度私はそれらを使用するようにすべてを設定し、それは正常に働いた。

関連する問題