Wykop.pl Wykop.pl
  • Główna
  • Wykopalisko429
  • Mikroblog
  • Zaloguj się
  • Zarejestruj się
  • Wykop.pl
  • Ciekawostki

    Ciekawostki
  • Informacje

    Informacje
  • Rozrywka

    Rozrywka
  • Sport

    Sport
  • Motoryzacja

    Motoryzacja
  • Technologia

    Technologia
  • Ukraina

    Ukraina
  • Gospodarka

    Gospodarka
  • Podróże

    Podróże

Dostosuj Wykop do siebie

Wybierz treści, które Cię interesują
i zapisz jako Własną kategorię.

szymonmazur

szymonmazur

Dołączył 6 lat i 5 mies. temu
  • Obserwuj
  • Akcje 7
  • Znaleziska 1
  • Mikroblog 6
  • Obserwujący 0
  • Obserwowane
    • 1 profile
    • 0 tagi
qwelukasz
qwelukasz
09.12.2016, 22:35:32
  • 2
#symfony #symfony2
uzywam fosrestbundle, chce jasno przekazwac jaką role ma użytkwonik (admin czy user).
standardowo getRoles() zwraca tablice, jak najlepiej zrobic aby api zwracalo string?
czy np dodac kolumne do tabeli z informacja o roli, czy moze jakos inaczej?

dodam ze do dokumentacji uzywam nelmio api doc

moze da rade jakos podpiac data transformer albo cos?
  • Cronox
  • 77LatBedeNiedojrzaly
  • 24
szymonmazur
szymonmazur 12.12.2016, 07:41:03
  • 0
@qwelukasz: a co ma rola usera do fosrestbundle'a? Masz te role w bazie? Jak nie, to nie bedzie zwracac. Albo jak w getRoles() masz zwracanie pustej tablicy.

Jedyna rola jaka ogarnia fosrest to ROLE_API i pozwala wylaczyc csrfy w formularzach.
szymonmazur
szymonmazur 12.12.2016, 08:22:41
  • 0
@qwelukasz: Pytanie było o fosresta a nie fosusera.

print_r


dump() ( ͡° ͜ʖ ͡°)

gdy zaloguje się i w kontrolerze zrobie


A gdy się nie zalogujesz i pobierzesz usera prosto z bazki? Fosrest ma generalnie w dupie to co masz w sesji.
szymonmazur
szymonmazur 12.12.2016, 08:40:24
  • 0
@qwelukasz: a co zwraca

public function showAction3(User $user)
{

return $user;

}

? I po co ustawiasz SerializationContext?
szymonmazur
szymonmazur 12.12.2016, 08:51:52
  • 0
@qwelukasz: pokaż rządek z bazy z tym userem
szymonmazur
szymonmazur 12.12.2016, 09:12:40
  • 0
@qwelukasz:

takie pomysły na teraz bez info co masz w bazie:

1. Masz SerializationListener, który może usuwać rolę (nie wiem, czy piszesz od 0 czy supportujesz cudzy kod)
2. W bazie nie masz ROLE_USER i rozszerzasz klasę z userem i pole $roles ustawiasz publiczne i przy serializacji klasy bierze wartość z pola zamiast gettera (wtedy zmień na protected jak w parencie albo usuń bo jest dziedziczone)
szymonmazur
szymonmazur 12.12.2016, 11:09:30
  • 1
@qwelukasz:

Entity/User.php

dodaj

use JMS\Serializer\Annotation\Accessor;

i zmień

/**

* Contains user roles

*

* @Expose

* @JMS\Groups({"ROLEUSER","ROLEADMIN"})

* @Accessor(getter="getRoles",setter="setRoles")

*/

protected $roles;
  • qwelukasz

Osiągnięcia

  • Rocznica
    od 26.10.2022

    Rocznica

Wykop © 2005-2023

  • Nowy Wykop
  • O nas
  • Reklama
  • FAQ
  • Kontakt
  • Regulamin
  • Polityka prywatności i cookies
  • Hity
  • Ranking
  • Osiągnięcia
  • więcej

RSS

  • Wykopane
  • Wykopalisko
  • Komentowane

Wykop.pl