2012-08-29 1 views
0

MVC 4를 사용하여 모바일 응용 프로그램을 개발하고 있습니다. 응용 프로그램은 2 페이지 ("home"및 "Clientes")를 가지고 있습니다.Asp.net mvc 및 jquery 모바일 인증

응용 프로그램이 시작되면 사용자 이름과 암호를 묻습니다.이 때 URL은 http://localhost:59170/Account/Login?ReturnUrl=%2f입니다.

로그인하고 홈 페이지로 이동하십시오. 이것은 IE http://localhost:59170/Account/Login?ReturnUrl=%2f에서 볼 수있는 URL입니다.

이 페이지에서 클라이언트 페이지로 이동합니다. 이것은 IE http://localhost:59170/Account/Login?ReturnUrl=%2f#/Clientes에서 볼 수있는 URL입니다. 현재 모든 작품은 괜찮습니다 (URL은 낯선 사람처럼 보이지만).

IE에서 뒤로 단추를 누르면 문제가 발생합니다. 홈 페이지로 이동해야하지만 http://localhost:59170/Account/Login?ReturnUrl=%2f#/Account/Login?ReturnUrl=%2f으로 이동하여 로그인하라는 메시지가 표시됩니다.

이 동작은 어떻게되고 어떻게 해결할 수 있습니까?

답변

0

인증이 필요한 페이지를 요청할 때마다 .NET은 사용자를 지정된 로그인 페이지로 리디렉션하고 요청 된 URL을 URL에 추가합니다. 이렇게하면 사용자가 성공적으로 로그인하면 자동으로 요청한 페이지로 리디렉션됩니다. 예를 들어 첫 번째 URL에 반환 된 URL 인코딩 된 표현/즉 사이트의 루트/홈페이지

인증 될 때까지 사용자의 리디렉션이 계속됩니다. 홈페이지에서 인증을 받고 싶지 않다면 귀하의 홈 컨트롤러가 아니라 [인증]을 사용하여 계정 컨트롤러에 주석을 달아주십시오.

+0

하지만 처음에는 로그인 페이지로 돌아가서 인증을 받았지만 인증을 받았습니다. 문제는 모바일 응용 프로그램에서만 발생합니다. – felix

+0

나는 그 로그인 페이지가 정상적인 페이지와 일치하고 있다고 생각한다. 로그인 페이지에서 다시 페이지를 열면 올바른 페이지로 이동합니다. 페이지로 이동하려면 두 번 뒤로 눌러야합니다. 덕분에 – felix

+0

Back은 정의에 의해 항상 거꾸로 돌아가는 효과가 있습니다 ... 서버에 요청을하지 않으므로 이후에 인증을 받고 리디렉션을 수행하지 않습니다. 당신이 설명하는 것은 표준 브라우저 기능인 – MiiisterJim