난 레일 응용 프로그램이 있고 제어 된 방식으로 응용 프로그램에 대한 액세스를 관리하려고합니다. 클라이언트 사용자는 응용 프로그램의 특정보기에만 액세스 할 수 있지만 관리자는 모든 페이지에 액세스 할 수 있습니다. 앞으로 관리자가 액세스 한 일부 페이지에 대한 액세스 권한이있는 일부 준 관리자를 추가 할 수도 있습니다. 이미 로그인 인증이 있지만 응용 프로그램의 특정 페이지에 대한 사용자 액세스를 제어하기위한 더 나은 솔루션이 필요합니다.액세스 및 라우팅 제어
답변
users_controller.rb
class UsersController < ApplicationController
before_filter :login_required, :except=>[:show]
before_filter :required_admin, :only=>[:all_users]
def show
end
def all_users
end
def edit
end
end
application_controller.rb
class ApplicationController < ActionController::Base
def current_user
session[:user]
end
def login_required
if current_user
return true
else
flash[:notice]='Please login to continue.'
redirect_to :controller => "logins"
end
end
def required_admin
if current_user && current_user.is_admin? #check here if current user is admin or not
return true
else
flash[:notice]='Please login as admin.'
redirect_to :controller => "logins"
end
end
end
로그인없이 &을 가진 사람을 볼 수 있습니다
표시 방법
단지 관리 단지 역할 기반이 필요
편집 방법은 모든 로그인 사용자를 볼 수 있습니다 ALL_USERS 방법 (즉, 사용자 관리) 당신이 아래로 인증의 기초를 가지고 있지만 나타납니다
이것은 이미 완료되었습니다. 내가 원하는 것은 내가 구매자, 고객 및 벤더 모델을 가지고 있다고 말하는 것입니다. 내 관리자는 스캐 폴드로 만든보기를 통해 모든 모델을 볼 수 있습니다. 준 관리자는 고객 모델에만 액세스 할 수 있습니다. 내 고객 사용자는 자신의 사용자 모델과 내가 보여준 데이터 만 볼 수 있습니다. –
보기가 모델과 일대일이 아니기 때문에 이것은 앱을 어떻게 표현하는지에 달려 있습니다. 원한다면'show' 뷰를 가질 수 있습니다.'show' 뷰는 뷰어를 보는 사람에 따라'show_admin' 또는'show_user'로 리다이렉트하는 조건부 브랜치가 있습니다. – Karl
- 1. 보안 및 액세스 제어
- 2. 라우팅 제어 페이지가 레일
- 3. 라우팅 및 원격 액세스 구성 및 사용
- 4. Android에서 서비스 액세스 및 제어
- 5. hgweb.config를 통한 액세스 제어
- 6. PHP의 인증/액세스 제어
- 7. asp.net 액세스 사용자 제어
- 8. 피드 액세스 제어
- 9. 다른 액세스 수준 제어
- 10. Lucene 및 액세스 제어 (코멘트의 가시성)
- 11. 액세스 제어 목록의 기초
- 12. 개체에 대한 액세스 제어
- 13. Windows 파일 액세스 제어
- 14. PHP에서 페이지의 액세스 제어
- 15. C# dll 액세스 제어
- 16. PHP 액세스 제어 시스템
- 17. mod_rewrite로 파일 액세스 제어
- 18. Pylons 앱의 액세스 제어?
- 19. 코드의 액세스 제어 속성
- 20. JAX-RS 액세스 제어
- 21. 액세스 제어 목록
- 22. MongoDB의 액세스 제어
- 23. 애플릿 액세스 제어 문제
- 24. Linux CVS 액세스 제어
- 25. SNMP를 통해 라우팅 테이블에 액세스
- 26. 데이터베이스를 사용하지 않는 액세스 제어
- 27. 액세스 제어 서블릿의 원본 허용
- 28. cucumber & capybara로 액세스 제어 테스트하기
- 29. 다른 페이지의 액세스 제어 asp.net
- 30. 트리 구조의 RBAC 액세스 제어
그래서 무엇을 묻고 있습니까? –
@Mark - before_login을 사용하고 기본 로그인 인증을 사용하는 방법을 알고 있습니다. 내가 원하는 것은 다음과 같습니다. 구매자, 고객 및 공급 업체 모델이 있다고 가정 해 보겠습니다. 내 관리자는 스캐 폴드로 만든보기를 통해 모든 모델을 볼 수 있습니다. 준 관리자는 고객 모델에만 액세스 할 수 있습니다. 내 고객 사용자는 자신의 사용자 모델과 내가 보여준 데이터 만 볼 수 있습니다. –