2013-10-21 5 views
0

Login이라는 게시물 작업을 수행하여 일부 서버 측 유효성 검사와 사용자의 실제 로그인을 수행합니다. 사용자가 비밀번호를 다시 설정하는 또 다른 게시 작업이 있습니다. 이 작업을 통해 로그인 할 때 새로운 자격 증명을 다시 입력하는 대신 성공시 직접 로그인하는 것이 좋습니다.POST 작업으로 리디렉션

나는 이미 작성한 논리를 어떻게 든 부르고 싶습니다. 나는 이것을 어떻게 얻을 수 있을까?

+0

이것은 아약스 전화입니까? –

+0

아니요, 정상적인 형식의 포스트 -> 컨트롤러 동작 -> (잘하면) 로그인 동작 일뿐입니다. – idlackage

답변

0

컨트롤러의 다른 방법에 실제로 로그인하는 동작을 동작의 일부만 추출 할 수는 없습니까? 그러면 귀하의 ResetPassword 조치에서 호출 할 수도 있습니다.

public class FirstController : BaseLoginController 
{ 
    [HttpPost] 
    public ActionResult Login() 
    { 
     base.ExecuteLogin(); 
    } 
} 

public class SecondController : BaseLoginController 
{ 
    [HttpPost] 
    public ActionResult ResetPassword() 
    { 
     base.ExecuteLogin(); 
    } 
} 

public class BaseLoginController 
{ 
    protected void ExecuteLogin() 
    { 
     // login logic 
    } 
} 
+0

할 수 있지만 한 가지 더 문제는 다른 컨트롤러에서이 작업을 호출하려고한다는 것입니다. 정적 인 경우 리디렉션/ViewBag 작업/TempData 작업을 수행 할 수 없으며 해당 부분을 꺼내면 기본적으로 그것을 재사용한다 (언급 된 프로세스가 아닌 세 줄 정도가있다). 정적 수정 자없이이 작업을 수행 할 수 있습니까? – idlackage

+0

@idlackage 두 컨트롤러가 상속하는 일종의 기본 컨트롤러를 만들 수 있으며 거기에 로그인 메서드가있을 수 있습니다. 두 컨트롤러에서 모두 호출 할 수 있으며 정적 인 것은 없습니다. – dom

관련 문제