我正在通过使用Spring Boot开发Restful API服务器。我将
项目配置为使用基本身份验证,如下所示。
@ComponentScan
@EnableAutoConfiguration
@EnableWebSecurity
@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
...
@Override
protected void configure(HttpSecurity http) throws Exception {
http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.NEVER).and()
.csrf().disable()
.authorizeRequests().anyRequest().hasRole("USER").and()
.httpBasic();
}
...
}
但是,当我通过Chrome-Postman-Plugin测试API时,第一次调用后,服务器
不再需要用户凭据。我注意到创建了“ JSESSIONID” cookie 。
我的项目中没有其他安全配置。我不知道为什么
您是否尝试过使用SessionCreationPolicy.STATELESS
。有一个微妙
的差异STATELESS
,并NEVER
在春季
文档:
STATELESS:Spring Security
永远不会创建HttpSession
,也
永远不会使用它来获取SecurityContext。
NEVER:Spring Security
永远不会创建一个HttpSession
,但是会使用
HttpSession
(如果已经存在)。
因此,我建议您清除所有cookie,将其切换为重STATELESS
试。 切换到HttpSession
时可能已经有一个。
NEVER
在发布这个问题之前,我谷歌了很多这个问题,并且在网络Socket@ServerEndpoint中从HttpServletRequest访问Http会话是我能找到的最好的问题/答案之一,但它似乎不能解决我的问题。 我可以通过这种方式从websocket访问HttpSession,但是我无法访问与普通HTTP请求相同的CDI会话bean实例。 我也尝试在会话中存储Weld实例,并尝试在WebSocke
问题内容: 我有一个应用程序,需要能够通过身份验证请求然后向注册请求发布到https。目前,我可以将身份验证请求发布到https,并且工作正常。当我尝试将注册请求发布到https时,我不断收到服务器响应,说我需要进行身份验证。在尝试注册之前,我正在认证。 服务器的管理员说我可能没有保留该会话。 我是第一次使用android和java做东西。我是这个https内容的新手。我想知道是否有人可以在这里帮
问题内容: 会话文件通常存储在(例如)服务器上,并命名为。我一直在查看内容,但无法弄清楚它们是如何工作的。 从文件中获取变量名称和内容很容易。但是PHP如何知道哪个会话属于谁? session_id似乎是完全随机的,一个IP地址可以有多个用户,并且每个用户打开多个浏览器窗口时可以有多个会话。 那么它是怎样工作的? 问题答案: 在一般情况下: 会话ID在用户创建会话后发送给用户。 它存储在cooki
问题内容: 我有两节课: 用户 还有另一个这样的类: 角色 : 我写了这样的集成测试: 此测试工作正常。但是,当我将以下行添加到上面的测试代码中时: 我收到这样的错误: 这是怎么回事?我哪里错了? 我正在使用Grails 2.0。 提前致谢。 问题答案: 出现此错误的原因是,当执行语句Role.findBy静态方法时,Hibernate(grails GORM使用)将检查是否需要“ autoFlu
我正在Codeigniter中创建API。在这个API中,我为用户提供了一个登录函数。如果登录成功,我将在CI会话中设置用户数据,并将会话返回给用户。 现在,用户可以使用该会话ID来验证他自己的所有其他请求,如添加/更新/删除。基本上,我希望当用户发送下一个请求时,我可以根据他的会话ID验证他的凭据。 客户请求代码: 上面是一个从客户端到服务器的登录请求示例。在服务器端,服务器验证客户端提供的凭据
我正在尝试根据下面的代码提出帖子请求: 此请求不需要身份验证,也不需要登录和密码。在邮递员那里,我可以成功地提出请求,但当我尝试执行上述代码时,我得到了: 401未经授权 我在邮递员那里模拟了错误,它给了我下面的信息: 当我在Postman中将身份验证方法更改为“No Auth”时,请求运行良好。 我想我必须在代码中设置这个选项“No Auth”,但我不知道如何设置。 我这样做: 但错误仍在继续。