Silverstripe 3 允许对控制器操作进行基本身份验证
Silverstripe 3 allow basic auth for controller action
我有一个控制器,它列出了日历项。
权限提供程序已实现并使用默认安全机制。
控制器有一个名为 "ics" 的动作来响应 iCal 流,这也有效。
如何为此日历操作启用基本身份验证?
例如。:
https://user:password@example.com/calendar/ics ?
有什么想法吗?
提前致谢,
罗伯特
这样解决的:
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...
}
我有一个控制器,它列出了日历项。 权限提供程序已实现并使用默认安全机制。
控制器有一个名为 "ics" 的动作来响应 iCal 流,这也有效。
如何为此日历操作启用基本身份验证? 例如。: https://user:password@example.com/calendar/ics ?
有什么想法吗?
提前致谢, 罗伯特
这样解决的:
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...
}