/ / Správne použitie príkazu @ Security.Authenticated (Secured.class) v Play FrameWork - java, http, relácia, playframework

Správne používanie vyhlásenia @ Security.Authenticated (Secured.class) v programe Play FrameWork - java, http, session, playframework

Ahoj, mám problém pochopiť, ako správne používať @ Security.Authenticated (Secured.class) vyhlásenie v rámci PlayFrameWork.

Snažím sa zabezpečiť, aby k svojim účtom mali prístup iba overení používatelia. Vyplýva z príkladu uvedeného v Prehrať dokumenty , zdá sa, že ich autentifikácia umožňuje jedinému používateľovi prístup k účtu každého používateľa po prihlásení - a nie iba k jeho vlastnému.

Normálne by som predpokladal, že v rámci akcie jednoducho získate hodnotu relácie,

    public static Result viewAccount(String account) {
//get session value and check against account name
}

Dokumenty však používajú inú trasu: Definujú triedu

    public class Secured extends Security.Authenticator {
@Override
public String getUsername(Context ctx) {
return ctx.session().get("username");
}

@Override
public Result onUnauthorized(Context ctx) {
return redirect(routes.Application.login());
}
}

Teraz jednoducho pomocou vyhlásenia: @ Security.Authenticated (Secured.class) pred akciou poistí, že je overený. Podľa môjho pochopenia a testovania to však nebráni používateľom v prihlásení sa do účtu anyones, pretože prechádza jednoducho, ak existuje hodnota relácie - a nie, ak sa zhoduje. Ako to vyriešiť?

Mal by som priamo porovnávať hodnotu relácie? Aký je teda účel @ Security.Authenticated (Secured.class)?

Vďaka (Úprava) objasniť: Chcem povoliť používateľom, aby mali oprávnenie vidieť iba svoje vlastné účty a nie iné.
Takže keď vyhlásenie

    @Security.Authenticated(Secured.class)

sa používa, chcel by som, aby nielen skontroloval prítomnosť ID relácie, ale skontroloval, či sa zhoduje s účtom

odpovede:

2 pre odpoveď č. 1

Možno nerozumiem vašej otázke, ale v dokumentácia uvidíte, ako vytvoriť prihlasovací formulárvykonať autentifikáciu. Až potom sa stane hodnota e-mailovej relácie. Ak je táto hodnota v relácii, musí sa používateľ prihlásiť pomocou správnych poverení a musí byť overený.

Samozrejme, ak používateľ A pozná poverenia používateľa B, nič mu to nemôže pomôcť.

Ak sa namiesto toho obávate povolenie, rozhodovanie o tom, kto uvidí, čo sa zobrazí po overení, a potom môžete robiť veľa vecí vrátane podpory protokolu OAuth v aplikácii Správna hra alebo doplnku, ako je napríklad toto.