2014-09-24 2 views
0

나는 이것을 전에 해왔다. 나는 많은 생각을 가지고있다. 그러나 지금까지 내가 해낸 것에서는 내 코드가 실패한 것처럼 보인다. (그런데 나는 ' ID를 사용하여).사용자 홈 페이지에 로그인 할 때 사용자를 리디렉션

var manager = new UserManager();    
ApplicationUser user = manager.Find(UserName.Text, Password.Text); 

if (user != null) 
{ 
    IdentityHelper.SignIn(manager, user, RememberMe.Checked); 
    IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); 
} 

else 
{ 
    FailureText.Text = "Invalid username or password."; 
    ErrorMessage.Visible = true; 
} 

이렇게 사용하는 방법에 대해 생각해 보았습니다.

var userId = GetUserId(); 

// After they log In 

Response.Redirect("~/" + userId + ".aspx"); 

현재 나를 홈 페이지로 다시 전송합니다. 미리 감사드립니다.

public static void RedirectToReturnUrl(string returnUrl, HttpResponse response) 

{ 

     UserManager manager = new UserManager(); 
     var user = manager.FindById(User.Identity.GetUserId()); 

     if (!String.IsNullOrEmpty(returnUrl) && IsLocalUrl(returnUrl)) 

     { 
      response.Redirect(returnUrl); 
     } 

     else 

     { 
      response.Redirect("~/residentpages/" + user + ".aspx"); 
     } 
} 

유일한 문제는 지금까지 User.Identity.GetUserId 부분, 시각적 기본이 정체성의 앞에있는 "사용자"현재 컨텍스트에 존재하지 않는 말한다는 것이다.

+0

그는 메이슨이 당신이 전체 게시물을 읽으려고 시도했다고 말합니다. 귀하의 의견은 도움이되지 않습니다. – MethodMan

+2

@DJKRAZE 아니, 그는 그가하고 싶은 것을 말합니다. 그는 실제로 시도했거나 문제가 무엇인지 명확하게 밝히지 않았습니다. – mason

+0

그가 시도한 것을 진술 한대로 다르게 읽었습니다. 어느 쪽이든 작동하지 않았습니다. 그냥 의미가 있습니다. bla bla bla .. 여기를 먼저 찾으십시오. http://www.primaryobjects.com/cms/article97.aspx – MethodMan

답변

0

내가 알 수있는 것으로부터, 당신은 약간 혼란스러워 지거나 당신을 이해하지 못했습니다.

컨트롤러가있는 경우 ProfileController라고 말하면 해당 컨트롤러에 대한 작업은 Details입니다.

이 작업을 수행하면 데이터베이스를 방문하여 해당 사용자의 특정 프로필을 가져옵니다. 그것을 할 수 있도록, 나는이 방법을 왜 내 문맥 따라서 공장을 사용하여 구축 한

public ActionResult Details(string id) 
{ 
    using (var context = contextFactory.Create()) 
    { 
      var profile = context.UserProfiles.FirstOrDefault(x => x.Id == id); 

      return View(profile);   
    } 
} 

:

public ActionResult Login() 
{ 
    // however you set the log in status 
    return RedirectToAction("Details", "ProfileController", new { id = userId }); 
} 

이 우리가 이전에 논의 된 조치를 호출합니다 : 여기에 이동하려면이 작업을 수행 하지만, 폐기 된 제품을 다루는 한 순수한 컨텍스트를 사용할 수 있습니다.

관련 문제