function authorize($request, &$args, $roleAssignments, $enforceRestrictedSite = true)
{
$dataProvider = $this->getDataProvider();
$hasDataProvider = is_a($dataProvider, 'GridDataProvider');
if ($hasDataProvider) {
$this->addPolicy($dataProvider->getAuthorizationPolicy($request, $args, $roleAssignments));
}
$success = parent::authorize($request, $args, $roleAssignments);
if ($hasDataProvider && $success === true) {
$dataProvider->setAuthorizedContext($this->getAuthorizedContext());
}
return $success;
}