Action Access을 사용하는 것이 훨씬 간단하고 간단합니다. 그것은이 아래로 비등이의
class ArticlesController < ApplicationController
let :user, :all
let :guest, [:show, :index]
# ...
def edit
not_authorized! unless @article.user == current_user
# ...
end
# ...
end
먼저 자동으로 사용자 만, 손님 만 표시하거나 인덱스 기사 수를 모든 행동에 액세스 할 수 있도록, 컨트롤러를 잠급니다. 그런 다음 not_authorized!
은 기사 소유주가 아닌 사용자를 경고하고 리디렉션합니다.
좋은 점은 컨트롤러가 자체 포함되어 있기 때문에 컨트롤러와 관련된 모든 것이 컨트롤러 내에 있다는 것입니다. 이것은 또한 매우 모듈화되어 있으며 리팩터링 할 때 다른 곳에서는 잊혀진 쓰레기를 남기지 않습니다.
이 인증 시스템 (고안 너무 아무 문제)의 완전히 독립적이다하지만 같은 일을 할 수있는 편리한 모델 추가 세트 번들 : 그래서, ArticlesController
을 말한다 여기 :article
<% if current_user.can? :edit, :article %>
<%= link_to 'Edit article', edit_article_path(@article) %>
<% end %>
을 현재 사용자가 edit
작업에 액세스 할 수있는 권한이있는 경우에만 ArticlesController
링크가 표시됩니다. 네임 스페이스도 지원합니다.
기본적으로 컨트롤러를 잠글 수 있고 리디렉션 경로 및 경고 메시지를 사용자 정의 할 수 있습니다. documentation을 확인하십시오.
출처
2014-10-26 18:21:52
404