Silverstripe 3允许对控制器操作进行基本身份验证

时间:2019-03-24 09:58:38

标签: authentication silverstripe

我有一个列出日历项的控制器。 权限提供程序已实现,并使用默认的安全机制。

控制器具有一个称为“ ics”的动作,该动作响应iCal流,该动作也起作用。

如何为该日历操作启用基本身份验证? 例如。: https://user:password@example.com/calendar/ics吗?

有什么想法吗?

预先感谢, 罗伯特

1 个答案:

答案 0 :(得分:0)

像这样解决它:

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...
}