没有身份验证令牌的登录设计方法

rad*_*m22 1 android login user-accounts

我正在为我的公司编写一个Android 2.2应用程序.该应用程序只是发送http get/put/post请求来执行某些操作.由于用户名和密码必须包含在每个http请求中,因此没有真正的登录过程.

我可以看到Android中有AccountManager.但由于每个http请求都需要用户名和密码(而不是某些身份验证令牌),它如何适应?显然,我想让它与其他Android应用程序类似,以便用户只需要第一次登录一次,并且在重新启动应用程序时不会再次提示输入用户名/密码.

任何建议表示赞赏.谢谢!

Wro*_*lai 6

我开发了这样的应用程序,所以这就是我在psuedocode中解决它的方法.

但由于每个http请求都需要用户名和密码(而不是某些身份验证令牌),它如何适应?

1#:创建第一页,登录页面.这View包括两个EditText(用户名和密码)和一个Button(登录按钮).

2#:在点击时发出登录请求Button,看看您是否正确Cookie使用与您登录时获得的值相对应的HTTP标题名称.通过网络工具(如WireShark)查找有效信息.有关登录过程的更多信息,请在此处查看我的其他答案.

3#:如果用户名和密码,导致了正确的Cookie信息,保存在一个用户名和密码,SharedPreferences并提供它们的值通过应用程序通过赋予它变成一个Application类,阅读了解有关全局变量的详细信息.如果值不正确且您没有获得有效值Cookie,请通过消息(Toast?)向用户显示.

4#:当您尝试访问授权信息时,使用Application班级中保存的信息发出请求.

5#:下次启动应用程序时,请检查onCreate()您检查的位置是否SharedPreferences包含用户信息,如果是,请执行以下操作:请参阅步骤6#,否则请等待用户开始输入信息.

6#:如果登录页面已经确定用户信息,分配SharedPreferences到全局Application状态,完成登录Activity,并开始授权Activity 代替.这将发生得非常快,因此用户不会注意到显示"登录页面".

7#(额外步骤):在授权中Activity,确保从Application实例中获取用户信息.在对授权内容进行第一次请求时,按照步骤3 中的操作验证任务,以便控制用户是否更改了网站上的密码.如果用户没有更改任何信息,请开始抓取响应,您可以随意做任何事情.