phpbar.de logo

Mailinglisten-Archive

[php] PHPLib Nobody ?

[php] PHPLib Nobody ?

Manuel Hossfeld lists_(at)_hossfeld.de
Thu, 11 Nov 1999 21:17:35 +0100


Hallo,

> Hier hab ich PHP lib zur authentifizierung eingebaut.
> http://www.wasserwelten.de/index.phtml?Content=pflanzenboerse
> 
> Wenn man auf neue Pflanzen anbiten clickt kommt aber diese Meldung.
> Permission denied
> 
> Your session 0d85d647af4b1c07da2961062ce41437 has been authenticated with a
> user id of nobody and a user name of nobody.
> 
> To access this page, the following permissions are required: user.
> I won't let you access this page, because you have these permissions: .

Also eigentlich steht ja genau da, was passiert ist: Du bist als User "nobody"
mit der UserID "nobody" eingeloggt. Und Nobody hat halt (wen wundert's)
keinerlei Rechte, d.h. permissions = (nix).
Du fragst in Deinem Code aber explizit nach der Permission "user"...:

>  $perm->check("user");

... und die hat Nobody halt nicht.

> Ich werde aber nicht gefragt ob ich mich anmelden mag...

Genau, denn Du verwendest ja auch "default authentication":

> page_open(array("sess" => "Wasserwelten_Session", "auth" =>
> "Example_Default_Auth", "perm" => "Example_Perm", "user" =>
> "Example_User"));

...was nichts anderes heisst als: Wenn jemand auf Deine Seite kommt, wird er von
PHPLIB stillschweigend als "Nobody" authentifiziert, und bekommt daher auch nie
einen Login-Screen zu Gesicht.
Wenn Du das nicht möchtest, musst Du in Deinem "page_open" das
"Example_Default_Auth" durch "Example_Auth" ersetzen (falls Du die Klasse nicht
anders benannt hast).
Da ich mal annehme, daß Du mit dem Permission-Check auf "User" ein Login
erzwingen wolltest (was es übrigens nicht tut: Es prüft eben nur das
Vorhandensein einer bestimmten Permission), kannst Du das dann anschließend
weglassen.

CU,
Manuel


php::bar PHP Wiki   -   Listenarchive