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ď č. 1Mož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.