인증 동작을 수정하여 xhr을 통해 클라이언트 측에서 전체 프로세스를 수행 할 수 있습니다. 예를 들어 login form을 sumbit 할 때 login_handler는 새로운 html 페이지를로드하거나 임의의 리다이렉션 대신에 성공 및 오류에 대한 일부 json 데이터를 리턴합니다. 이 일을하기 위해 무엇을 조사해야합니까?XHR을 통한 로그인
답변
사용자 이름과 암호를 추출하여 매개 변수로 로그인 스크립트로 보내면 사용자의 유효성을 검사하고 이에 따라 결과를 반환 할 수 있습니다. 프로세스 자체가 보안 문제와 취약점으로을 가득이기 때문에,
if($_REQUEST['username'] == "correct_username" && $_REQUEST['password'] == "correct_password"){
return json_encode(array("success" => true, "data" => "stuff"));
}else{
return json_encode(array("success" => false));
}
나는이에 대한 제안, 그래도 :
$.ajax({
url: "login.php",
data: "username="+$("#username")+"&password="+$("#password"),
method: 'GET',
dataType: 'json',
async: false,
success: function(msg){
if(msg.success){
$("#content_area").html(msg.data);
}
}
});
어디 스크립트는 다음과 같이 보일 것이다. 서버에 자격 증명을 안전하게 게시하고 웹 서버가 세션을 처리하고 쿠키를 설정하고 적절하게 인증하도록 허용 한 다음 시도하십시오.
식별자를 가져 와서 remember 메서드를 호출하여 고유 한 로그인 컨트롤러를 작성할 수 있어야합니다.
는 먼저, 데이터베이스에서 사용자를 검색 할 암호를 확인하고 모든 것이 맞다면 당신은 인증 쿠키 설정할 수 있습니다 성공을 확인
response.headers = request.environ['repoze.who.plugins']['main_identifier'].remember(request.environ, {'repoze.who.userid':user_name})
은 또한 끝에 컨트롤러에서 JSON의 딕셔너리를 반환하거나하지 UI 목적을 위해
나는 TG2로 똑같은 일을하려했다. 이것은 amol의 답변을 연장 한 것입니다. 나는 그것을 사용하고 그것은 나를 위해 잘 작동합니다. 내가 무엇을 찾고 무엇을 말하는 것은 TG2 때문에 파이썬과에 적용 할 수 있지만
@expose("json")
def login(self, login, password):
identity = {"login": login,
"password": password}
# Authenticate the credentials
username = request.environ['repoze.who.plugins']['sqlauth'].authenticate(request.environ, identity)
if username:
print("Logged into " + username)
# Remember this user
response.headers = request.environ['repoze.who.plugins']['main_identifier'].remember(request.environ, {'repoze.who.userid':username})
return {"status": True, "username": username}
else:
print("Could not authenticate")
return {"status": False, "username": None}
헤더를 추가하거나 자동으로 처리하지 않아야합니까? –
모든 헤더를 덮어 쓰지 않아도됩니다. –
- 1. SSL을 통한 서블릿 로그인
- 2. 데이터베이스와 ASP.net을 통한 로그인
- 3. cURL을 통한 로그인
- 4. XHR을 가로채는 중
- 5. AJAX/MySql/PHP를 통한 로그인
- 6. 서블릿을 통한 XMPP 서버에 대한 로그인 처리
- 7. Rails에서 로그인/등록을 통한 양식 제출 유지
- 8. IE, Safari, Chrome을 통한 codeigniter 문제 로그인?
- 9. JSONP를 통한 SSL 로그인 및 등록
- 10. 플렉스 & JS 페이스 북을 통한 로그인
- 11. URL을 통한 스프링 보안 CAS 클라이언트 로그인
- 12. 세션을 통한 로그인 동작의 권한 처리
- 13. HttpRequest를 통한 Windows Live ID 로그인
- 14. 보안 로그인 및 SSL을 통한 가입
- 15. hook_mail을 통한 일회 로그인 링크 보내기
- 16. HTML 카드를 통한 로그인 스 와이프
- 17. PHP에서 적절한 인증을 통한 보안 로그인
- 18. ASP.Net 및 Facebook : ASP.Net을 통한 로그인
- 19. 그것은 무엇을 의미합니까? SSL을 통한 로그인
- 20. IE6 보안 로그인 (VirtualPC를 통한 디버깅)
- 21. android의 데이터베이스 (mssql)를 통한 로그인
- 22. 양식 인증을 통한 사용자의 마지막 로그인
- 23. Howto : Facebook Connect를 통한 영구 로그인
- 24. XHR을 사용하여 DataGrid를 만드는 데 문제가 있습니다.
- 25. 연결 웹 페이스 북 통합을 통한 자동 로그인 방지
- 26. 보안 위험 : GET 매개 변수를 통한 자동 로그인
- 27. 비 웹뷰/브라우저를 통한 간단한 Gmail 로그인 HTTPS POST
- 28. jconsloe를 통한 Tomcat JMX Services 로그인 문제 : javax.management.remote.rmi.RMIConnector.connect (RMIConnector.java:281)
- 29. Chrome : XHR 로딩이 완료되었습니다. XHR을 문자열로 반환 하시겠습니까?
- 30. XHR을 사용하여 POST를 통해 많은 양의 데이터 보내기
는, 내가 repoze.who의 사전 동작을 수정 가겠어요 방법이다. – rhyek
좀 더 구체적으로, 나는 repoze 뒤에 아이디어를 이해하려고 노력하고 있습니다. 플러그인, 그리고 지금까지 나는 이것에 대해 갈 길이되어야한다는 것을 알았지 만, 내가 필요한 것을 얻기 위해 어떤 예제도 찾지 못했습니다. – rhyek