mirror of
https://github.com/nextcloud/server.git
synced 2026-06-20 14:09:38 -04:00
Merge pull request #61349 from nextcloud/backport/61308/stable32
[stable32] fix(team-manager): ensure team resources are only retrived for members
This commit is contained in:
commit
b7c8cf47f2
2 changed files with 8 additions and 3 deletions
|
|
@ -12,6 +12,7 @@ use OCA\Circles\CirclesManager;
|
|||
use OCA\Circles\Exceptions\CircleNotFoundException;
|
||||
use OCA\Circles\Model\Circle;
|
||||
use OCA\Circles\Model\Member;
|
||||
use OCA\Circles\Model\Probes\CircleProbe;
|
||||
use OCP\IURLGenerator;
|
||||
use OCP\Server;
|
||||
use OCP\Teams\ITeamManager;
|
||||
|
|
@ -71,7 +72,10 @@ class TeamManager implements ITeamManager {
|
|||
return [];
|
||||
}
|
||||
|
||||
if ($this->getTeam($teamId, $userId) === null) {
|
||||
$probe = new CircleProbe();
|
||||
$probe->mustBeMember();
|
||||
|
||||
if ($this->getTeam($teamId, $userId, $probe) === null) {
|
||||
return [];
|
||||
}
|
||||
|
||||
|
|
@ -118,7 +122,7 @@ class TeamManager implements ITeamManager {
|
|||
}, $this->getTeams($provider->getTeamsForResource($resourceId), $userId));
|
||||
}
|
||||
|
||||
private function getTeam(string $teamId, string $userId): ?Circle {
|
||||
private function getTeam(string $teamId, string $userId, ?CircleProbe $probe = null): ?Circle {
|
||||
if (!$this->hasTeamSupport()) {
|
||||
return null;
|
||||
}
|
||||
|
|
@ -126,7 +130,7 @@ class TeamManager implements ITeamManager {
|
|||
try {
|
||||
$federatedUser = $this->circlesManager->getFederatedUser($userId, Member::TYPE_USER);
|
||||
$this->circlesManager->startSession($federatedUser);
|
||||
return $this->circlesManager->getCircle($teamId);
|
||||
return $this->circlesManager->getCircle($teamId, $probe);
|
||||
} catch (CircleNotFoundException) {
|
||||
return null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -104,6 +104,7 @@
|
|||
<referencedClass name="OCA\Circles\Exceptions\CircleNotFoundException"/>
|
||||
<referencedClass name="OCA\Circles\Model\Circle"/>
|
||||
<referencedClass name="OCA\Circles\Model\Member"/>
|
||||
<referencedClass name="OCA\Circles\Model\Probes\CircleProbe"/>
|
||||
<referencedClass name="OCA\ContextChat\Public\ContentManager"/>
|
||||
<referencedClass name="OCA\GroupFolders\Mount\GroupFolderStorage"/>
|
||||
<referencedClass name="OCA\TwoFactorNextcloudNotification\Controller\APIController"/>
|
||||
|
|
|
|||
Loading…
Reference in a new issue