Ruby on Rails 3.2사용자가 로그인되어 있는지 항상 어떻게 확인합니까?
내 웹 응용 프로그램에는 두 가지 유형의 사용자가 있습니다. View의 내 폴더 중 하나가 대중에게 공개되는 것으로 나타났습니다.
사용자가 사이트 전체에 로그인되어 있는지 어떻게 확인합니까?
Ruby on Rails 3.2사용자가 로그인되어 있는지 항상 어떻게 확인합니까?
내 웹 응용 프로그램에는 두 가지 유형의 사용자가 있습니다. View의 내 폴더 중 하나가 대중에게 공개되는 것으로 나타났습니다.
사용자가 사이트 전체에 로그인되어 있는지 어떻게 확인합니까?
사용자가 ApplicationController
에 로그인했는지 확인하는 before_filter
을 넣습니다. 이렇게하면 모든 컨트롤러와 모든 작업이이 조건에 따라 필터링됩니다.
before_filter :authenticate_user!
당신은 저장할 수
당신이 devise
같은 것을 사용하는 경우, 사용자 정의 방법은 예를 들어, 그래서 코드는 다음과 같이합니다, 당신을 위해 이런 종류의 물건을 authenticate_user
라는 이름의이 세션에 로그인 한 사용자의 ID 또는 기타 세부 정보를 볼 수 있으며이 Session 변수가보기를 표시하기 전에 null이 아닌지 확인할 수 있습니다.
다른 컨트롤러에이 기능이 있습니다. 어떻게 두 필터에 대해 before_filter를 수행합니까? before_filter : signed_in_grandstreamer, [: edit, : update, : show] 및/또는 before_filter : signed_in_distributor 만 해당 : [: 편집 : : 업데이트] : 표시. 둘 다 로그인하지 않았기 때문에 오류가 발생합니다. – DDDD
두 개의 필터에 대해 before_filter가 무엇을 의미하는지 이해할 수 있을지 확신 할 수 없습니다. 나열된 동작 중 하나를 수행 할 때 'signed_in_grandstreamer'이고 'signed_in_distributor'가 호출됩니다. 이러한 동작 이외의 작업을 수행하면 필터가 수행되지 않으므로 유효성이 검사되지 않습니다. 어쩌면 하나의 일반 필터가 필요하고, 로그인되어 있는지, 특정 종류의 사용자인지 등을 확인해야합니다. – MurifoX