(Ruby, направляющие) Основанная на роли аутентификация и управление пользователями …?

Я обнаружил, что на python легко написать git hook. Это пример хука после получения на питоне. Приведенный пример разворачивает основную ветку и развивает ветки в разных папках (изменения в главном устройстве будут отправлены на производственный веб-сайт, а изменения в ветке разработки будут перенесены на qa-сайт)

#!/usr/bin/env python                                                                    
# -*- coding: UTF-8 -*-                                                                  
#post-receive                                                                            

import sys                                                                               
import subprocess                                                                        

# 1. Read STDIN (Format: "from_commit to_commit branch_name")                            
(old, new, branch) = sys.stdin.read().split()                                            

# 2. Only deploy if master branch was pushed                                             
if branch == 'refs/heads/master':                                                        
    subprocess.call('date >> ~/prod-deployment.log', shell=True)                         
    subprocess.call('GIT_WORK_TREE=/home/ft/app.prod git checkout master -f', shell=True)
    subprocess.call('cd ../../app.prod;bower update', shell=True)                        

#3. Only deploy if develop branch was pushed                                             
if branch == 'refs/heads/develop':                                                       
    subprocess.call('date >> ~/dev-deployment.log', shell=True)                          
    subprocess.call('GIT_WORK_TREE=/home/ft/app.dev git checkout develop -f', shell=True)
    subprocess.call('cd ../../app.dev;bower update', shell=True)                         
5
задан niton 25 April 2015 в 16:05
поделиться

3 ответа

Есть несколько таких. Я использовал: http://github.com/DocSavage/rails-authorization-plugin/ для приложений ранее в сочетании с restufl_authentication, но я считаю, что он будет работать с любой аутентификацией, которая дает вам метод current_user. На github также есть http://github.com/mdarby/restful_acl/ и http://github.com/danryan/role_model/ , хотя они просто основаны на ролях Я бы также сказал, что не аутентификация.

Насколько мне известно, аутентификация и функции управления доступом доступны в виде отдельных плагинов / гемов, и это хорошо, поскольку они разные звери. Не все приложения, которые имеют аутентификацию, должны иметь данные типа ACL, и даже некоторым из них требуется только действительно простая вещь типа администратора, а не полноценная вещь с ролями пользователей. Так что я'

5
ответ дан 13 December 2019 в 05:41
поделиться

Вы можете проверить ссылки в « Какой подключаемый модуль Rails лучше всего подходит для разрешения на основе ролей? ».

Ни одно из перечисленных там решений не кажется очень привлекательным для меня. Главный претендент, role_requirement , очевидно, требует restful_authentication, но я считаю, что AuthLogic намного лучше спроектирован и менее навязчив. Остальные перечисленные, похоже, не очень активно поддерживаются.

1
ответ дан 13 December 2019 в 05:41
поделиться

Райан Бейтс недавно сделал два рейлскаста по авторизации (обратите внимание на разницу между аутентификацией и авторизацией; аутентификация проверяет, является ли пользователь тем, кем она себя называет, авторизация проверяет, есть ли у пользователя доступ к ресурсу. ). Эпизод # 188 посвящен declarative_authorization, который представляет собой действительно мощный плагин авторизации. Эпизод # 192 (извините, у меня недостаточно репутации, чтобы ссылаться на него) посвящен собственному плагину CanCan Райана Бейтса, который является гораздо более простым плагином, но он все равно будет работать для большинства приложений.

6
ответ дан 13 December 2019 в 05:41
поделиться
Другие вопросы по тегам:

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