2016-03-04 149 views
-2

我試圖從服務器中檢索用戶名和密碼,但我遇到了問題。我必須獲取參數並使用它們來驗證輸入(用戶名/密碼)是否正確並存在於服務器中。 但是,我不知道該怎麼做。我試圖將變量聲明爲null,但問題是它會檢查用戶= null與通過= null存在於服務器,它不會。需要幫助從服務器獲取用戶名和密碼

<!DOCTYPE html> 
<html> 
    <head><title>Skiftkode</title></head> 
    <h1>Log ind</h1> 
    <body> 
     <form method="post" action="Skiftkode.jsp"> 
      Brugernavn (studienummer): <input type="text" name="brugernavn"> <br> 
      Adgangskode: <input type="password" name="adgangskode"> <br> 
      <input type="submit" value="Log ind"> 
     </form> 
     <% 
       QName qname = new QName("http://soap.transport.brugerautorisation/", "BrugeradminImplService"); 
       URL url = new URL("http://javabog.dk:9901/brugeradmin?wsdl"); 

       Service service = Service.create(url, qname); //I'm connecting to the server here, and it connects 
       Brugeradmin ba = service.getPort(Brugeradmin.class); 

       Bruger b = ba.hentBruger(String brugernavn, String kode); //Here, I'm trying to retrieve an account. Now it says 

       String bn, ak; 

       bn = request.getParameter("brugernavn"); 
       ak = request.getParameter("adgangskode"); 
       if (user.equals(bn) && password.equals(ak)) { //here I'm checking whether it exists or not 
        // sæt attributten "logget ind" i sessionen 
        session.setAttribute("logget ind", "ja"); 
        out.println("Du er logget korrekt ind.<br>"); 
       } else { 
        session.removeAttribute("logget ind"); 
        out.println("Fejl"); 
       } 
     %> 
    </body> 
</html> 

這是該方法的接口:

@WebService 
public interface Brugeradmin 
{ 

    @WebMethod Bruger hentBruger(String brugernavn, String adgangskode); 

    @WebMethod Bruger ændrAdgangskode(String brugernavn, String adgangskode, String nyAdgangskode); 

    @WebMethod void sendEmail(String brugernavn, String adgangskode, String emne, String tekst); 

    @WebMethod void sendGlemtAdgangskodeEmail(String brugernavn, String følgetekst); 

    @WebMethod void setEkstraFelt(String brugernavn, String adgangskode, String feltnavn, Object værdi); 

    @WebMethod Object getEkstraFelt(String brugernavn, String adgangskode, String feltnavn); 
} 
+0

你想發送密碼返回給客戶端? –

+0

我想檢查輸入(用戶名/密碼)是否存在於服務器中。例如,我們來說說Stackoverflow。你必須寫下你的用戶名/電子郵件和密碼,然後服務器會檢查帳戶是否存在。在我的情況下,如果該帳戶存在,它必須打印'out.println(「Du er logget korrekt ind。
」)' – Hudhud

+0

您想在哪裏進行身份驗證?數據庫? –

回答

0

我的猜測是,API應當使用如下:

 if (request.getMethod().equals("POST")) { // Form data sent 
      String bn = request.getParameter("brugernavn"); 
      String ak = request.getParameter("adgangskode"); 
      Bruger b = ba.hentBruger(bn, ak); 
      if (b != null && b. ...) { 
       ... 
+0

我不能直接寫下來,直到'布魯格b = ba.hentBruger(bn,ak); out.println(「成功」)'? – Hudhud

+0

試試吧 - 我不知道。應該有一些失敗通知。祝你好運。 –