我正在一个springMVC项目中,其中用户身份验证基于Spring安全性。
这个想法是要拥有一个移动(android)应用程序,以便能够将某种数据发送到后端。
因此,在开始开发android之前,我决定使用cURL模拟登录表单的情况。
我们网站上的登录表单如下:
http://localhost:8080/app/user/login
我使用以下命令:
curl -F 'username=admin&password=admin' http://localhost:8080/app/user/login
但是我将获得登录页面,换句话说,我无法根据模拟情况通过用户身份验证。
只需注意:对于每一个请求,spring secure将创建类似于以下内容的随机令牌:
8863F732ADDE24CD167F4EF502A4333D
如何使用模拟情况(cURL
或HTTPClient
)基于Spring安全性传递登录表单
cURL
像这样使用:
curl -d j_username=admin -d j_password=admin -L http://localhost:8080/app/j_spring_security_check
如果得到类似的信息Expected CSRF token not found. Has your session expired?
,则表示已启用CSRF令牌保护。要使用cURL进行测试,您需要一个cookie和一个CSRF令牌本身。
以下命令会将所有cookie写入一个名为的文件,cookie
并打印出CSRF令牌。Spring
Security的默认令牌参数名称为_csrf
,如果您进行了更改,则还需要更改grep csrf
。
curl --cookie-jar cookie -L http://localhost:8080/app/j_spring_security_check | grep csrf
然后,您可以执行下一个命令,该命令将传递文件中的所有cookie。别忘了用上|your_token_value|
一个命令打印出的实际值替换(_csrf
如果您更改了它,则返回参数名)。
curl --cookie cookie -d "j_username=admin&j_password=admin&_csrf=|your_token_value|" -L http://localhost:8080/app/j_spring_security_check
请注意,在春季安全4.x的缺省值login-processing-url
从更改/j_spring_security_check
为POST
/login
,默认值username-parameter
从改变j_username
到username
的并且默认值password- parameter
从变化j_password
到password
。如果应用程序显式提供了这些属性,则迁移不需要任何操作。
问题内容: 我一直在尝试使用curl登录barnesandnoble.com移动网站,到目前为止还没有运气。我返回的页面没有任何错误,它再次将我的电子邮件默认设置为登录页面的电子邮件输入表单框(使用print $ result返回的表单)。 通过更改LOGINURL指向eBay的登录名,相同的代码实际上可以使我正确地进入ebay。 唯一的区别是barnesandnobles是https://,而e
问题内容: 我是使用cURL的新手,它很难为其找到好的资源。我想做的是通过curl来登录到远程站点,然后执行登录表单,然后将其发送回去。 我拥有的代码似乎无效,仅尝试显示网站的主页。 我究竟做错了什么。在此工作之后,我想重定向到另一个页面并从我的网站获取内容。 问题答案: 我已经放弃了好一阵子,但后来又重新讨论了。由于这个问题是定期查看。最终,这就是我最终使用的对我有用的东西。 更新:此代码绝不打
我尝试使用这个简单的代码登录,但在我点击登录按钮后,else选项“无效用户名或密码!”总是出现,即使用户名和密码是匹配的 控制器:
我有一个在Java设计的应用程序,我愿意使用用户名和密码登录AWS。我知道如何使用这里定义的默认安全凭据,但它对我的应用程序需求无效。有没有办法使用用户名和密码使用JavaAPI登录我的AWS帐户?
springsecurity oauth2.0 谁做过记录登录日志?监听事件好像没法区分是什么原因失败的、比如client错误还是用户名错误
我一直在关注symfony网站上的教程(http://symfony.com/doc/current/security.html)为我的Symfony 3.1项目添加登录名。它可以与HTTP基本身份验证一起工作,但是当我使用这里的教程添加form_登录时(http://symfony.com/doc/current/security/form_login_setup.html)它会一直重定向到登录