2016-02-28 4 views
0

Я пишу приложение для Android, которое подключается к дата-центру (ПК с Windows), который используется для обслуживания данных, таких как FTP-сервер и другие файлы. Мне нужно приложение для аутентификации в датацентре с именем пользователя и паролем, поэтому вам нужно войти в систему, прежде чем вы сможете получить доступ к чему-либо на ПК. Я знаком с входом в систему на сайт с PHP, но никогда ничего, кроме веб-сайта. Я нашел некоторую информацию об Apache Shiro или Spring Security, но я не могу найти простых примеров из них. Кроме того, бонус мог бы работать как прокси-сервер, блокируя трафик на ПК, когда он не вошел в систему, и разрешает трафик при входе в систему. Может ли кто-нибудь рекомендовать простой метод аутентификации моего приложения с ПК?Аутентификация между ПК и Android

+0

'нужно приложение для проверки подлинности на datacenter'. Довольно расплывчато. Какой протокол? Какой сервер центров обработки данных? – greenapps

+1

Я действительно не понял протокол для этого, вот в чем проблема. Центр обработки данных действительно действует как точка входа в сеть и использует базу данных MySQL для регистрации информации о трафике, но она не обслуживает веб-сайт или что-то еще. То, что я называю центром обработки данных, - это всего лишь ПК с Windows 10 с установленной MySQL и Wireshark для регистрации данных трафика. –

+0

«Я действительно не понял протокол, чтобы сделать это». ??? Вам не нужно составлять протокол. Вы должны выяснить, какой протокол используется для этого. Итак, какой протокол вы должны использовать. Как только вы узнаете, что можете реализовать этот протокол. – greenapps

ответ

0

В Apache сервера код РНР

<?PHP 
    $con= 
    "(DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = your_ip)(PORT = 1521)) 
    (CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = database_name) 
    ) 
    )"; 
    $conn = ocilogon("User_name", "password",$con,"WE8ISO8859P15"); 

    $query = "Select * from tablename"; 

    $parseresults = ociparse($conn, $query); 
    ociexecute($parseresults); 

    while($row=oci_fetch_assoc($parseresults)) 

    $output[]=$row; 

    print json_encode($output); 

    oci_free_statement($parseresults); 
    oci_close($conn); 
    ?> 

В Android вы можете использовать

public class UploadAsyncTask extends AsyncTask<Void, Void, String> { 
Context context; 

String result; 

public UploadActivity(Context context) { 
    this.context = context; 
} 

@SuppressWarnings("static-access") 
@Override 
protected void onPreExecute() { 
    super.onPreExecute(); 


} 

@Override 
protected String doInBackground(Void... params) { 
    // TODO Auto-generated method stub 


    final List<Pair<String, String>> postParameters = new ArrayList<>(); 



    Database db= new Database(context); 
    db.open(); 
    String activity[][] = db.uploadActivity(); 
    db.close(); 
    if(activity!=null&&!activity[0].equals(null)) { 
     for (int i = 0; i < activity[0].length; i++) { 

      postParameters.add(new Pair<>("var1", activity[i][0]); 

      result = null; 


      try { 

       String response = CustomHttpClient.execute(
         URL + "UPLOAD_DATA.php", postParameters); 
       result = response.toString(); 
       result = result.replaceAll("(\r\n|\n)", ""); 

      } catch (Exception e) { 

       Log.e("log_tag_ms", "Error in http connection!!" + e.toString()); 

      } 

     } 
    } 

    return null; 
} 

protected void onPostExecute(String result) { 
    super.onPostExecute(result); 


    } 
} 
+0

Спасибо, но это всего лишь пример ............ –

+0

Весь ваш код не имеет смысла, поскольку OP запрашивает другую информацию. – greenapps

+0

Извините, я не могу вас понять –

Смежные вопросы