View Issue Details

IDProjectCategoryView StatusLast Update
0000133Adventure PHP FrameworkCode-Verbesserung // Code improvementpublic2016-04-01 16:17
ReporterChristianAchatzAssigned Todave 
PriorityhighSeverityfeatureReproducibilityN/A
Status resolvedResolutionfixed 
Product Version2.1 
Target Version3.2Fixed in Version3.2 
Summary0000133: Allgemeine Sicherheitslösung für Datei-Upload
DescriptionIdee:
Eigener Provider der prüft ob der aktuelle Benutzer (der auch ein Gast sein kann) überhaupt auf die Action zugreifen darf.

Schlage hier eine allgemeine APF-Lösung vor, welche in der actionconfig.ini einen Provider konfigurieren lässt, der die Zugriffe steuern kann.
TagsNo tags attached.
Codereferenz: ([Datei]:[Zeile])
Namespacetools

Relationships

related to 0000117 closedScreeze Sicherheit der MultiFileUpload Funktion prüfen 

Activities

Screeze

2014-01-26 00:38

developer   ~0000186

Kleine Anmerkung, dass es nicht zu Verwirrung kommt:
Vorgeschlagen wird eine allgemeine Lösung für alle APF-Actions, sodass man in der jeweiligen actionconfig.ini bei Bedarf Provider definieren kann, die den Zugriff reglementieren.

Konkret wird es dringend gebraucht im multifileupload, dessen Actions derzeit von jedem Gast aufrufbar sind, allerdings hatte ich auch schon einige andere Fälle in meinen Projekten, wo so etwas super wäre. So könnte man mit einem Provider und 1 Zeile in der jeweiligen Config die Zugriffsbeschränkungen für zig Actions festlegen, und muss das nicht in jeder Action extra machen.

jwlighting

2014-01-26 11:55

administrator   ~0000187

Super Idee, danke dafür!

ChristianAchatz

2014-01-26 12:21

administrator   ~0000189

+1

Screeze

2014-01-26 12:33

developer   ~0000190

Vorschlagen würde ich so etwas:

[multifilegetfile]
ActionClass = "APF\tools\form\multifileupload\actions\MultiFileGetFileAction"
Permission.Provider = "APF\namespace\LoggedInProvider"
[Permission.FailureCallback = "showPermissionFailure"]

wobei der FailureCallback optional ist, und eine Methode innerhalb der Action darstellt, die aufgerufen wird, wenn die Authentifizierung fehlgeschlagen ist - sodass z.b. eine JSON-Fehlermeldung generiert werden kann, wenn benötigt.

ChristianAchatz

2014-05-14 00:22

administrator   ~0000337

Postponed to get 2.1 released soon (as aligned with Ralf).

ChristianAchatz

2015-01-25 10:37

administrator   ~0000537

Postponed to 3.1 again.

ChristianAchatz

2015-09-05 17:05

administrator   ~0000593

Moved to 3.2 to shape scope for 3.1.

ChristianAchatz

2016-03-27 11:59

administrator   ~0000694

* Merged Pull Request.
* Added Unit Tests.

dave

2016-03-30 18:47

developer   ~0000697

Updated documentation
-> Pull Request: https://github.com/AdventurePHP/docs/pull/3/files

dave

2016-04-01 16:17

developer   ~0000698

See also discussion in board:
http://forum.adventure-php-framework.org/viewtopic.php?f=5&t=5644

Issue History

Date Modified Username Field Change
2014-01-25 17:46 ChristianAchatz New Issue
2014-01-25 17:46 ChristianAchatz Status new => assigned
2014-01-25 17:46 ChristianAchatz Assigned To => Screeze
2014-01-25 17:46 ChristianAchatz Issue generated from: 0000117
2014-01-25 17:46 ChristianAchatz Relationship added related to 0000117
2014-01-26 00:38 Screeze Note Added: 0000186
2014-01-26 11:55 jwlighting Note Added: 0000187
2014-01-26 12:21 ChristianAchatz Note Added: 0000189
2014-01-26 12:33 Screeze Note Added: 0000190
2014-05-14 00:22 ChristianAchatz Note Added: 0000337
2014-05-14 00:22 ChristianAchatz Target Version 2.1 => 3.0
2015-01-25 10:37 ChristianAchatz Note Added: 0000537
2015-01-25 10:37 ChristianAchatz Target Version 3.0 => 3.1
2015-01-30 14:50 ChristianAchatz Assigned To Screeze =>
2015-01-30 14:50 ChristianAchatz Status assigned => new
2015-09-05 17:05 ChristianAchatz Note Added: 0000593
2015-09-05 17:05 ChristianAchatz Target Version 3.1 => 3.2
2016-03-10 21:19 dave Assigned To => dave
2016-03-10 21:19 dave Status new => assigned
2016-03-27 11:59 ChristianAchatz Note Added: 0000694
2016-03-30 18:47 dave Note Added: 0000697
2016-04-01 16:17 dave Note Added: 0000698
2016-04-01 16:17 dave Status assigned => resolved
2016-04-01 16:17 dave Fixed in Version => 3.2
2016-04-01 16:17 dave Resolution open => fixed