Пользовательские плагины доступа направляющих

Как насчет функции «Выполнение удаленных команд» для удаления файла следующим образом.

Например,

# oc exec  -- rm -f /path/to/file.txt

Я надеюсь, что это поможет вам.

5
задан Nick Retallack 8 December 2008 в 19:16
поделиться

3 ответа

Можно сделать некоторые действительно сложные приемы авторизации на образцовом уровне с declarative_authorization плагином. Тем не менее, я сам предпочитаю плагин авторизации направляющих - с этим Вы определяете роли на образцовом уровне (например, кто-то - владелец ресурса), и полномочия на уровне контроллера (например, только владелец ресурса или администратор могут получить ресурс). Я нахожу этот подход намного более кратким, особенно если Вы преследуете для чистого подхода REST. Если у Вас есть запрос как этот:

GET /posts

то, что действительно необходимо возвратить, является всеми сообщениями, не только сообщениями текущего пользователя. С этой целью у Вас должен быть другой маршрут:

GET /users/:user_id/posts

где: user_id установлен на идентификатор текущего пользователя. Это различие должно затем быть зеркально отражено в соответствующих мерах:

def index
  user = User.find(params[:user_id]) unless params[:user_id].blank?
  @posts =
   if user
    # get all posts of a user
    user.posts.all
   else
    # get all posts 
    Post.all
   end
end

Теперь, что Вы действительно имеете вот, два контекста авторизации - "получают все сообщения пользователя", и "получают все сообщения", и Вы обычно хотите установить различные полномочия и для (например, "только администраторы могут получить все сообщения" и "только пользователя, это сам или администратор может получить все сообщения пользователя").

3
ответ дан 15 December 2019 в 01:13
поделиться

Вы могли проверить блокировку. Я еще не реализовал это на проекте, но он мог сохранить Вас некоторая работа.

0
ответ дан 15 December 2019 в 01:13
поделиться

У меня есть драгоценный камень, который это полностью о способности указать полномочия для объектов на основе их роли. Можно смотреть здесь: http://github.com/nakajima/roleful/tree/master. Это работало бы хорошо на вид before_filter приблизьтесь к Вам намекнувший.

Только что касается разрешения пользователям получить доступ к вещам, с которыми у них есть своего рода отношения, я думал бы, что Вы смотрите на главного кандидата на прокси ассоциации направляющих. Мне нравится отрывок Milan Novota, хотя я изменил бы его немного:

def index
  @posts = user_repo.posts
end

private

def user_repo
  # find_by_id is **much** faster than regular find,
  # plus it just returns nil when there's no record
  if user = User.find_by_id(params[:user_id])
    # returns the association proxy
    user.posts
  else
    # returns the class
    User
  end
end
1
ответ дан 15 December 2019 в 01:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: