【发布时间】:2015-05-09 12:02:32
【问题描述】:
我正在使用 Spring Security 进行身份验证和授权。为了发送请求,我使用 Angular JS http.post 请求。示例“home.jsp”代码是:
<form role="form">
<div class="form-group">
<label for="username">Username:</label> <input type="text"
class="form-control" id="username" name="username" ng-model="userinfo.username"/>
</div>
<div class="form-group">
<label for="password">Password:</label> <input type="password"
class="form-control" id="password" name="password" ng-model="userinfo.password"/>
</div>
<button type="submit" class="btn btn-primary" ng-click='login()'>Submit</button>
我的 UserInfo 类与模型绑定:
UserInfo.java
private String username;
private String password;
// Generated getters & setters
示例“home.js”是: 我正在下面做一些事情,即我正在将 userInfo 转换为 JSON 字符串。
$scope.login = function() {
$http.post('login', angular.toJson(userInfo)
.success(function(data) {
// Some response handling
})};
登录到达服务器并执行所有内置的 spring 安全过滤器,但是当我调试“UserandPasswordAuthenticationFilter”时,它显示 request.getParameter('username') 并且密码为 NULL。我正在发送类型为 UserInfo 类的 JSON 字符串。 谁能指导我在执行“UserandPasswordAuthenticationFilter”之前添加一个“解析”JSON字符串并转换为UserInfo对象的新过滤器,并在servlet请求参数中设置用户名和密码,类似地另一个过滤器将对象转换为JSON 同时发送响应?
请帮助并提出最佳解决方案。
谢谢。
【问题讨论】:
-
能否请您发布当前的 UserandPasswordAuthenticationFilter 代码?
标签: java angularjs spring spring-mvc spring-security