2016-05-09 14 views
0

私はVS 2015でWebアプリケーションテンプレートを使用しているプロジェクトに取り組んでいます。認証プロセスでプライベートデータベースを使用するようにログイン機能を変更したいのですが、コードを理解するのに苦労しました。ASP.Net Webアプリケーションテンプレートのログイン機能を変更する方法は?

次は(私がログイン機能のためのプライベート・データベースを使用するようにコード化されてきたが、それは、ログイン状態を維持するために失敗した)原点コードです:

using System; 
using System.Web; 
using System.Web.UI; 
using Microsoft.AspNet.Identity; 
using Microsoft.AspNet.Identity.Owin; 
using Owin; 
using WebApplication2.Models; 

namespace WebApplication2.Account 
{ 
    public partial class Login : Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      RegisterHyperLink.NavigateUrl = "Register"; 
      // Enable this once you have account confirmation enabled for password reset functionality 
      //ForgotPasswordHyperLink.NavigateUrl = "Forgot"; 
      OpenAuthLogin.ReturnUrl = Request.QueryString["ReturnUrl"]; 
      var returnUrl = HttpUtility.UrlEncode(Request.QueryString["ReturnUrl"]); 
      if (!String.IsNullOrEmpty(returnUrl)) 
      { 
       RegisterHyperLink.NavigateUrl += "?ReturnUrl=" + returnUrl; 
      } 
     } 

     protected void LogIn(object sender, EventArgs e) 
     { 
      if (IsValid) 
      { 
       // Validate the user password 
       var manager = Context.GetOwinContext().GetUserManager<ApplicationUserManager>(); 
       var signinManager = Context.GetOwinContext().GetUserManager<ApplicationSignInManager>(); 

       // This doen't count login failures towards account lockout 
       // To enable password failures to trigger lockout, change to shouldLockout: true 
       var result = signinManager.PasswordSignIn(Email.Text, Password.Text, RememberMe.Checked, shouldLockout: false); 

       switch (result) 
       { 
        case SignInStatus.Success: 
         IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); 
         break; 
        case SignInStatus.LockedOut: 
         Response.Redirect("/Account/Lockout"); 
         break; 
        case SignInStatus.RequiresVerification: 
         Response.Redirect(String.Format("/Account/TwoFactorAuthenticationSignIn?ReturnUrl={0}&RememberMe={1}", 
                 Request.QueryString["ReturnUrl"], 
                 RememberMe.Checked), 
              true); 
         break; 
        case SignInStatus.Failure: 
        default: 
         FailureText.Text = "Invalid login attempt"; 
         ErrorMessage.Visible = true; 
         break; 
       } 
      } 
     } 
    } 
} 

答えて

0

UserManagerが基礎となるDbContextを持っている必要がありますそれに関連する。そのコンテキストに関連付けられた接続文字列名を変更することができます。

関連する問題