2013: Test project_security_spec.rb
każda możliwości profilu, które są wymienione w ability.rb
:
(2017 GitLab 10.x: byłoby to bardziej prawdopodobne w app/policies/project_policy.rb
)
Zasady te są bardzo wyraźne:
def public_project_rules
[
:download_code,
:fork_project,
:read_project,
:read_wiki,
:read_issue,
:read_milestone,
:read_project_snippet,
:read_team_member,
:read_merge_request,
:read_note,
:write_issue,
:write_note
]
end
def project_guest_rules
[
:read_project,
:read_wiki,
:read_issue,
:read_milestone,
:read_project_snippet,
:read_team_member,
:read_merge_request,
:read_note,
:write_project,
:write_issue,
:write_note
]
end
def project_report_rules
project_guest_rules + [
:download_code,
:fork_project,
:write_project_snippet
]
end
def project_dev_rules
project_report_rules + [
:write_merge_request,
:write_wiki,
:push_code
]
end
To znaczy:
- reporter jest gościem, który może również:
- kod do pobrania,
- widelec projekt,
- projekt zapisu fragment
- deweloper jest reporterem, który może również:
- zapisz żądanie scalenia,
- wpisz strony wiki,
- kod push
@Sven Doskonałe. Ale nawet ważniejsze, jeśli te zasady miały się zmienić/ewoluować, teraz wiesz * gdzie * wyglądać. – VonC
Łącze dla 'project_security_spec.rb' już nie działa:' 404 Not Found' – ray
@ray Dziękuję. Przywróciłem te linki do commitowania (2013) i dodałem wersję 2017. – VonC