Silverstripe 3 позволяет базовую аутентификацию для действий контроллера - PullRequest
0 голосов
/ 24 марта 2019

У меня есть контроллер, который перечисляет записи календаря. Поставщик разрешений реализован и работает с механизмом безопасности по умолчанию.

В контроллере есть действие, называемое «ics», которое отвечает на поток iCal, что также работает.

Как включить базовую аутентификацию для этого действия календаря? Например.: https://user:password@example.com/calendar/ics?

Есть идеи?

Спасибо заранее, Роберт

1 Ответ

0 голосов
/ 24 марта 2019

Разрешил это так:

public function ics(SS_HTTPRequest $request) {
    if(! Permission::check('ACCESS_CALENDAR', 'any', Member::currentUser()) ) {
        $member = BasicAuth::requireLogin('Calendar');
        if($member instanceof Member) $member->logIn();
    }
    //.... here goes the ical stuff...
}
...