在Android应用连接到Web服务后保持会话

3

我正在使用ksoap2进行Web服务方法调用。首先,用户必须登录。我希望其他Web服务中的方法只能在登录后调用。但我无法做到这一点。因为我在Web服务中没有任何会话。我不知道如何在Web服务中实现。Web服务如何知道用户已经在Android应用程序中登录?您有任何想法,例如会话或Cookies :(。感谢阅读我的问题。下面是我的Web服务代码:

public class Login {
String message;
Connection conn;
String url;
ResultSet rs;
Statement stmt;
public String login(String username, String password) {
    try {
        Class.forName("org.postgresql.Driver");
        url = "jdbc:postgresql://localhost:5432/FirstDB";
        conn = DriverManager.getConnection(
                url, "postgres",
                "root");
        stmt = conn.createStatement();
        rs = stmt.executeQuery("SELECT * From account Where username = '"+ username + "'and password = '" + password +"'");
        if ( rs.next() ) {
            message = "true";
        } else {
            message = "false";
        }
    } catch (Exception e) {
        System.err.println("Got an exception! ");
        System.err.println(e.getMessage());
    }
    return message;
}

public String Test() {
    if(message.equals("true")) 
    {
        return "abc";
    }
    return "bdf";
}

在Android应用程序中,我首先调用login()方法,然后调用Test()方法。结果始终为"bdf"。
1个回答

1

谢谢,但我想在Web服务中保留会话,而不是在Android应用程序中使用Shared Preferences :(. 你有其他的想法吗? - Black2910
这个主题中的问题与我的问题类似。但是答案不够清晰。我不知道如何在Android应用程序连接后在Web服务中创建会话。 - Black2910
我认为这个链接可能会对你有所帮助。 - Ram kiran Pachigolla
这个链接只是关于Android应用程序的。你能更具体地解释一下Android应用程序和Web服务之间的流程吗?我认为它们之间的流程是:首先,Android应用程序登录,然后Web服务创建cookie或会话,Android应用程序可以使用Web服务中的其他方法。对吗? - Black2910

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接