Java отправляет POST-данные на PHP-сервер, заблокированный методом accessRules
Я размещаю некоторые данные на PHP-сервер в рамках Yii. Логин работает нормально. что означает, что мои данные были точно отправлены на сервер.
но после входа мои последующие запросы отклоняются accessRules
метод на сервере и я получаю страницу входа в ответ.
Это функция accessRules в PHP. Где egineering нормальные пользователи кроме администраторов.
public function accessRules()
{
return array(
array('allow', // allow all users to perform 'index' and 'view' actions
'actions'=>array('index','view','AssignedUsers',),
'roles'=>array('admin', 'engineering'),
//'users'=>array('*'),
),
array('allow', // allow authenticated user to perform 'create' and 'update' actions
'actions'=>array('create','update','userReport','userNewReport',),
'roles'=>array('admin'),
//'users'=>array('@'),
),
array('allow', // allow admin user to perform 'admin' action
'actions'=>array('admin'),
'roles'=>array('admin', 'engineering'),
),
array('allow', // allow admin user to perform 'delete' action
'actions'=>array('delete'),
'roles'=>array('admin', 'admin'),
),
array('deny', // deny all users
'users'=>array('*'),
),
);
}
но я получаю отказ от сервера.
это запрос JAVA
String content ="user=" + URLEncoder.encode(userId,encoding) +
"&apiKey=" + URLEncoder.encode(apiKey,encoding);
этот контент используется в последующем с URL.
connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("POST");
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches (false);
connection.setRequestProperty("Content-length",String.valueOf (content.length()));
connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
DataOutputStream printout = new DataOutputStream (connection.getOutputStream ());
System.out.println(url+",Content = "+content);
printout.writeBytes (content);
printout.flush ();
printout.close ();
1 ответ
Отправить куки.
Когда вы входите в систему... На сервере будет создан сеанс, а идентификатор сеанса будет отправлен в виде файлов cookie в заголовке ответа http.
Вы должны поймать эти куки-файлы из ответа при входе в систему и продолжать отправлять их при последующих запросах.
Я только что гуглил и нашел этот пример: как получить куки из ответа и как отправить его в запросе