【发布时间】:2013-06-02 19:58:35
【问题描述】:
我正在使用 Spring 构建一个 WebApp。它由 Spring Security 保护,也应该从 Android 应用程序访问。在网页版中,我使用的是基本登录页面。
要从 Android 进行身份验证,我计划仅向标准身份验证 url /j_spring_security_check 发送一个带有凭据的 http 请求。然后总是在每个新请求中发送 cookie 以保持身份验证。
因为整个 WebApp 只能由登录用户访问,所以每次启动 Session 时都需要登录。我尝试通过一个简单的 html 公式发送描述的请求:
<html>
<head><title>Test</title></head>
<body>
<form action="http://localhost:8080/livefeedback/j_spring_security_check" method="post">
<input type="text", name="j_username" /><br />
<input type="password" name="jpassword" /><br />
<input type="submit" />
</form>
</body>
</html>
为了清楚起见:我想从 Android 应用程序发送一个 http 请求,类似于通过发送此 html 表单生成的请求。
但我只是被重定向到我的标准登录页面。我认为这是因为在尝试登录之前我必须从 spring 接收会话 ID。我不确定是否有更好的方式从安卓应用登录。
这是我在 spring-security.xml 中的 http 配置:
<http use-expressions="true" auto-config="true">
<intercept-url pattern="/login"
access="permitAll"/>
<access-denied-handler />
<form-login login-page="/login" default-target-url="/"/>
<logout />
</http>
感谢您对每一个提示的期待!
【问题讨论】:
-
跳转到登录页面后,你检查是否登录了吗?
标签: java android authentication spring-security