레일 3
는 세션 쿠키는 _app_session
로 저장됩니다. 그들은 난처하게 보입니다 만 그들은 base64로 인코딩되어 있습니다. 클라이언트의 atob
함수를 사용하여 세션 쿠키를 디코딩하고 여기에 입력 한 정보를 읽을 수 있습니다. (레일 4에서 당신은 아마 암호화 된 세션 쿠키를 사용하고는 조금 다른 뭔가를 할 필요가있을 것이다)
는 예 쿠키 같은 것을 보일 수 있습니다 :이 같은 무언가로 디코딩 할
"BAh7CEkiD3Nlc3Npb25faWQGOgZFVEkiJWNlZjFjMDhiNjYyNWEzZDI5YWM5MTJlMDY3MmQ0NTM4BjsAVEkiGXdhcmRlbi51c2VyLnVzZXIua2V5BjsAVFsISSIJVXNlcgY7AEZbBmkHSSIiJDJhJDEwJE5MYlhOWHFUMEtoZmdnNFliZHdyeE8GOwBUSSIQX2NzcmZfdG9rZW4GOwBGSSIxSSt6TnJsZm1FOTZTNWFRWGdSVWtGK2Zmd3BPVUxkQURjWHBqZ2NoZ05nMD0GOwBG"
를 :
atob(cookieStr);
"{I"session_id:ETI"%cef1c08b6625a3d29ac912e0672d4538;�TI"warden.user.user.key;�T[I" User;�F[iI""$2a$10$NLbXNXqT0Khfgg4YbdwrxO;�TI"_csrf_token;�FI"1I+zNrlfmE96S5aQXgRUkF+ffwpOULdADcXpjgchgNg0=;�F"
레일 3/4
세션 쿠키 I 읽기보다는 별도의 쿠키를 추가하거나 HTML 코드를 원하는 데이터로 부트 스트랩합니다.
가 컨트롤러에 자신의 쿠키를 설정하거나 고안 후크 :
var cookieData, cookies = document.cookie.split('; ');
for (var i = 0, parts; (parts = cookies[i] && cookies[i].split('=')); i++) {
if (decode(parts.shift()) === "my_data") {
cookieData = JSON.parse(decode(parts.join('=')));
}
}
// Do something with cookieData;
참 나 '(읽기를 단순화하기 위해 $.cookie 같은 lib 디렉토리를 사용) : 클라이언트에서
는 쿠키를 읽어 보시기 바랍니다 일부 레일 4를 흔들어서. :) –쿨. Rails 4에서 내가 할 일을 추가했습니다. –
고마워요! 이것은 정말로 도움이된다. –