跨域登录请求时,一直显示未登录,但后台已设置运行CROS跨域请求。
通过Fiddler抓包发现登录数据没有问题,但请求未携带cookies,后台无法获取cookie。原因是两次请求不是同一个sessionid,服务器端,认为还没有登陆。

解决方法是:
允许客户端带上cookie,ajax设置
xhrFields:{
withCredentials:true
},

再次请求,登录成功

SpringBoot+Spring Security无法实现跨域解决办法

遇到一跨域问题,通过本方法解决。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/w903328615/article/details/80503750

未使用Security时跨域:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.context.annotation.Configuration;
import org.springframework.format.FormatterRegistry;
import org.springframework.web.servlet.config.annotation.*;

@Configuration
@AutoConfigureBefore(SecurityConfig.class)
public class MyMvcConfigurer implements WebMvcConfigurer {
public void addCorsMappings(CorsRegistry registry){
LOGGER.info("跨域已设置");
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("*")
.allowedHeaders("*")
.allowCredentials(true)
.maxAge(3600);
}
}

整合Security时发现只用上述方法前后端分离时仍存在跨域问题,解决方法如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
@Configuration
@AutoConfigureBefore(Swagger2Configuration.class)
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
@Order(-1)
public class SecurityConfig extends WebSecurityConfigurerAdapter {

@Override
protected void configure(HttpSecurity http) throws Exception {
http.formLogin()
.loginProcessingUrl("/user/login")
.loginPage("/singIn.html")
.successHandler(moyuAuthenticationSuccessHandler)
.failureHandler(moyuAuthenticationFailureHandler)
.and()
.apply(moyuSocialSecurityConfig)
.and()
.rememberMe()
.tokenRepository(persistentTokenRepository())
.tokenValiditySeconds(3600*24*7)
.userDetailsService(userDetailsService)
.and()
.authorizeRequests()
.antMatchers("/user/login","/login","/singIn.html","**","/**").permitAll()
.anyRequest()
.authenticated()
.and()
.cors()
.and()
.csrf().disable();

}
}

重点加入代码:

1
2
3
4
.and()
.cors()//新加入
.and()
.csrf().disable();

springboot异常:java.lang.NoClassDefFoundError: antlr/RecognitionException解决

1
java.lang.NoClassDefFoundError: antlr/ANTLRException    at org.hibernate.hql.ast.ASTQueryTranslatorFactory.createQueryTranslator(ASTQueryTranslatorFactory.java:58)    at org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:98)    at org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:80)    at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:98)    at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:156)    at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:135)    at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1760)    at DataAccess.WKS.Repositories.WksRepositoryBase.LoadAllData(WksRepositoryBase.java:193)    at Run.main(Run.java:13)Caused by: java.lang.ClassNotFoundException: antlr.ANTLRException    at java.net.URLClassLoader$1.run(Unknown Source)    at java.net.URLClassLoader$1.run(Unknown Source)    at java.security.AccessController.doPrivileged(Native Method)    at java.net.URLClassLoader.findClass(Unknown Source)    at java.lang.ClassLoader.loadClass(Unknown Source)    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)    at java.lang.ClassLoader.loadClass(Unknown Source)    ... 9 more

项目编译时,由于网络原因下载jar包antlr可能下载不完成或文件损坏造成的,根源还是找不到antlr的jar包,此时可以删掉.m2/repository/antlr下的所有文件,然后重新maven update下载后就OK了!

转自:https://blog.csdn.net/lc5204118/article/details/78298267

摘录原文:https://baijiahao.baidu.com/s?id=1714918047822342732&wfr=spider&for=pc
本文来源:美加双城记(ID:NewYorkEducation),作者:李立强

第三,对全球化,和高度依赖消费以及全球分工的深层次反思。

北美对全球供应链的依赖到什么程度?

去年读到过一个媒体分析,对美国邮政和快递行业,极其廉价的运费的分析。从中国万里迢迢,运来一个马克杯的成本价,都低于在街道对面的小企业去做一个。是不是很荒谬?中美年青一代,身体差不多,教育差不多,技能不相上下。

一个杯子,为何要去中国买?而不是在当地造。显然,有地方出问题了。基于古典经济学分工和自由贸易的经济理论,在经受挑战。一个杯子的成本,除了材料、人工、运费,还有中国的环境成本、对美国本地就业机会的剥夺等等,这些在全球化的公式中,是被忽视的。

在全球化案例中,波音客机是最佳的案例之一,一架飞机需要多少零件,在全球多家国家协同完成一架飞机,这是全球化的骄傲。但现在变成噩梦了,美国供应管理协会的估算,美国制造商现在平均要等92天,才能将零件和原材料组装成产品。

美国是最依赖全球化的国家,这一次的打击最严重。无论是飞机,汽车,还是电脑、家具、服装,都完全依赖全球供应链。没有全球供应链,美国人可能连碗筷刀叉都买不到,这不是开玩笑。

另一面,全球化也培育了强大的消费主义趋势,我经常感慨,随便打开一个美国中产家庭的地下室,都能重新装备另一个国家的一个、甚至几个家庭。

这种模式必须依靠一个高效而廉价的生产基地,过去半个多世纪,东亚以及中国,撑起了这股消费主义浪潮,也将中美两国深度捆绑。

但这种生活模式,和社会运行模式,在疫情后,正在遭遇巨大的挑战。

北美港口拥堵,超市越来越多的空货架,中国的拉闸限电和产能限制……这些都跟同一件事有关:全球化的负面影响和收缩。

全球化的成本,不应该只用金钱计算,没有被计入的成本,如能耗和污染,不公平就业的代价等等,都在逐渐体现出来。

这种模式是不可持续的,这是中美共同面临的严峻挑战。

譬如中国的原油消耗,发改委曾预测,2020年,进口原油为2亿吨,实际上是2016年,中国的原油进口就达到了3.6亿吨。

全球原油生产增速只有1%,而中国的进口增速是10%,是产量的十倍。其他原材料需求增速也是类似趋势。

中国进口那么多原油,那么多铁矿石,并不全是给自己用的,相当一部分做成各种产品,卖给了美国人、欧洲人。

显然,世界没法满足中国无限制进口石油、煤炭和铁矿石,去扩大产能。

我们能做的,可能就是减少一点消费欲望。从这个角度,美国目前的供应链拥堵,可能也是件好事,能迫使美国人少买东西,少花钱。

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt USD1084639690 ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

1002 写出这个数 (20 分)

读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

输入格式:

每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10​100​​。

输出格式:

在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。

输入样例:

1
2
1234567890987654321123456789

输出样例:

1
yi san wu
阅读全文 »