我正在尝试建立一个基于Spring Boot的Web服务器,它支持基于会话的安全用户界面,包括CSRF保护和通过基本身份验证且不需要CSRF的无状态访问。我试图支持的两个用例是标准AngularJS用户界面和一个简单的REST api,可以对每个请求进行身份验证。
有人知道如何配置吗?我见过很多使用其中一个或另一个的例子,但不是同时使用两个。
所以我终于重新开始研究这个问题,结果发现解决方案几乎和我预期的一样简单。解决方案是有两个websecurityConfigureAdapter
类。这里描述了这一点:
http://docs.spring.io/spring-security/site/docs/3.2.x/reference/htmlsingle/#multiple-httpsecurity
进行此操作时需要注意两件事:
websecurityConfigureAdapter
类必须具有不同的@Order
值。因此,我用@Order(1)
对其中一个进行了注释,强制在处理HTTP请求时首先对其进行评估。在我的情况下,哪一个是第一个并不重要,它们只是必须是不同的
所以他们是:
@Configuration
@EnableWebSecurity
@Order(1)
public class APISecurityConfig extends WebSecurityConfigurerAdapter {
@Override
@Order(1)
protected void configure(HttpSecurity http) throws Exception {
http.antMatcher("/api/**")
.authorizeRequests()
.anyRequest().fullyAuthenticated().and()
.httpBasic().and()
.csrf().disable();
}
}
而且
@Configuration
@EnableWebSecurity
public class UISecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/ui/**").authenticated();
}
}
我有两个流,希望将第二个流连接到窗口内的第一个流,因为我需要对与会话相关的两个流的连接进行一些计算(流的连接控制会话)。 实际上,当从留档读取时,(会话)窗口只允许在单个流上进行计算,而不允许在连接中进行计算。 我曾尝试使用会话窗口和协处理器函数的组合,但结果并不完全符合我的预期。 有没有办法合并Flink中与会话窗口相关的两个流?
问题内容: 我运行foo.com。我在foo.com中有两个不同的应用程序:一个是foo.com/bar,另一个是foo.com/example。我使用会话来跟踪有关用户登录的信息,但是如果用户从foo.com/bar转到foo.com/example,则foo.com/example会看到用户从foo.com/启动的会话并使用该信息。我的问题是,如何同时为每个目录进行两个不同的会话? 问题答案:
问题内容: 我要为已经在同一域/服务器上运行另一个PHP应用程序的网站构建一个PHP应用程序。我的应用程序当然将使用会话,并且我不希望我的会话干扰现有的应用程序。例如,如果我想使用$ _SESSION [‘username’],也许另一个应用程序也使用$ _SESSION [‘username’],这可能是个问题。我不是在寻找额外的安全层,我相信与之共享主机的应用程序。我只想避免错误。 一种方法是
我有两个方法,它们都被注释为@Transactional。 我知道这两种方法将在两个不同的事务中执行。 但是这两个方法是在一个Hibernate会话中执行吗? spring事务管理器将会话保持到http请求结束。 我知道事务管理器可能会在它的 aop 代理中执行类似操作: 我只是找不到代码,如果我能在某处找到代码,我可以自己回答这个问题。
我有两个war文件,比如war1和war2 如果am登录应用程序,会话将在war1中创建,如果am导航到war2,我需要相同的会话数据。 我在服务器的context.xml尝试了Cross Context=true,我可以通过将数据存储在servletContext中来访问数据。但问题是一旦我在chrome中登录屏幕,会话数据将存储在servletContext中,数据将保持到应用程序运行。 如果
问题内容: 我设法用Jsch通过ssh执行了一条命令,但是当我尝试执行第二条命令时却失败了 为了调试,我将此问题归结为以下几行: 这主要是官方的Exec示例,但这给了我以下输出: 第一个命令成功执行,第二个则没有成功。 有任何想法吗 ? 问题答案: 嘿,jsch和Ubuntu完全一样。(如何)解决了?为每个执行执行新会话会浪费太多时间?此刻,我捕获了jsch异常并搜索“会话未关闭”,然后我重新连接