Domanda

Come posso impostare l'ID utente di Autenzione di base e la password quando si utilizza un RestyGWT Servizi di riposo ?

the Guida per l'utente di RestyGWT Descrive come impostare l'ID utente ePassword utilizzata nell'autenticazione di base per il RestyGWT Rest API Ma non ho trovato documenti che descrivono come fare AUTH di base con il RestyGWT Servizi di riposo

Sto usando RESTINYGWT V1.2

** * ** Aggiorna ** * **** Ho provato quanto segue senza fortuna.Il browser sta ancora aprendo un prompt per ID utente / password quando chiamo il metodo di servizio.

final Map<String, String> headers = new HashMap<String, String>();
headers.put("Authorization", "Basic anJvYmPpbnKAbGl4ZXByb2N4c3OuZ29tOmpyb2JiaW6z");
final Resource workflowResource = new Resource("", headers);
((RestServiceProxy)workflowService).setResource(workflowResource);
.

È stato utile?

Soluzione 2

Penso che l'esempio del codice fornito nella domanda dovrebbe funzionare.Ho trovato un'altra persona sperimentare problemi aggiungendo un'intestazione personalizzata a un servizio di restygwt come descritto in Questo post al RestyGWT Group e Questo bug a GitHub. .

Come soluzione temporanea, sto usando @headerparam e passando l'intestazione di autorizzazione codificata BASE64 attraverso la chiamata del metodo RESTService.

public void getRestData(@HeaderParam("Authorization") String authHeader, MethodCallback<List<Workflow>> callback);
.

Altri suggerimenti

Lo faccio usando un dispatcherFilter, all'interno del metodo del filtro.

@Override
    public boolean filter(Method method, RequestBuilder builder)
    {
        ....
        builder.setHeader(KEY, value);
        ....
        return true;
    }
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top