Самостоятельная регистрация Grails доступ через http (Android-клиент) - PullRequest
0 голосов
/ 08 февраля 2012

Люди, у меня есть система, написанная на grails, которая использует плагин Spring Security Core. Теперь я создал клиент Android (Java) для доступа к некоторым данным через HTTP. Сначала мой код блокировался системой безопасности Spring, когда я использовал следующий код:

DefaultHttpClient httpClient = new DefaultHttpClient();
CredentialsProvider credProvider = new BasicCredentialsProvider(); credProvider.setCredentials(new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT), new UsernamePasswordCredentials("LOGIN", "PWD");
httpClient.setCredentialsProvider(credProvider);

это перенаправило меня на страницу входа в систему, но затем мой друг настроил сервер и клиент для использования BASIC HTTP-авторизации, и это сработало, клиент отправил запрос, и ответ был в порядке. Но теперь моя страница входа в систему не работает, если пользователь не вошел в систему, ему показывают «базовый» экран логина / пароля по умолчанию, а не мою пользовательскую страницу входа.

если это поможет, клиентский код, который "работает" ниже ...

// HTTP Authentication 

// Type of authentication
List<String> authPrefs = new ArrayList<String>(2);
authPrefs.add(AuthPolicy.BASIC);
httpclient.getParams().setParameter("http.auth.scheme-pref", authPrefs);
httpclient.getCredentialsProvider().setCredentials(new AuthScope(urlHost, urlPort),new UsernamePasswordCredentials("login", "pwd"));

//Preemptive mode

BasicHttpContext localcontext = new BasicHttpContext();
BasicScheme basicAuth = new BasicScheme();
localcontext.setAttribute("preemptive-auth", basicAuth);
httpContext = localcontext;

AbstractHttpMessage method = null;
method = new HttpGet(urlStr);
method.setParams(new BasicHttpParams().setParameter(urlStr, url));

// Now Execute:
HttpResponse httpResponse = httpclient.execute((HttpUriRequest) method, httpContext);

1 Ответ

0 голосов
/ 01 марта 2012

Вам это помогает? Здесь показано, как вы можете использовать базовую аутентификацию для некоторых разделов вашего веб-приложения Grails (где общее окно запрашивает имя пользователя и пароль) и «обычную» форму входа для других (страница входа в систему по умолчанию).

http://grails -plugins.github.com / Grails-весна-безопасности ядро ​​/ документы / руководство / руководство / single.html # 9,1% 20Basic% 20and% 20Digest% 20Authentication

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...