基于REST的数据处理流程_开发环境踩坑

    昨天捋了捋思路,今天着手开始准备构建基础工程,spring boot是我一直比较偏爱的,现在在国内开发领域也越发的火了起来。另外准备试试kotlin,之前看了一个教程,感觉kotlin的语法特性挺有意思,可以让代码量下降很多。

     版本使用:

kotlin_version = '1.2.10'
springBootVersion = '1.5.9.RELEASE'


     今天只记录坑:

坑1:日志颜色,之前版本是不用的,现在需要加入,才能让banner.txt上色。

#日志颜色
output:
 ansi:
   enabled: always


坑2:vagrant做数据库环境,却怎么也连不上redis

vagrant 配置了端口转发:


#redis

config.vm.network "forwarded_port", guest: 6379, host: 6379


但是开始怎么也连不上 

640?wx_fmt=png


先关了防火墙: sudo ufw disable  不管用。


注释redis.conf下面的语句

bind 127.0.0.1


然后发现搞定了.



坑3:

使用了H2 做测试数据库,但是加入权限以后h2的console就怎么也登不上去了,开始是


Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Sun Jan 28 20:21:43 CST 2018

There was an unexpected error (type=Forbidden, status=403).

Invalid CSRF Token 'null' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN'.



这个问题 可以通过来解决, 

http.csrf().disable()

然而,事情并没有结束,H2的console界面出来了,但是连接以后,一片空白,F12打开控制台,可以看到 in a frame because it set 'X-Frame-Options' to 'deny'. 


又是一番搜索

http.headers().frameOptions().disable();

搞定。

整个测试代码如下:


@Configuration
@EnableWebSecurity
open class SecurityConfig : WebSecurityConfigurerAdapter() {

/**定义认证用户信息获取来源,密码校验规则等 */
   @Throws(Exception::class)
override fun configure(auth: AuthenticationManagerBuilder?) {
//inMemoryAuthentication 从内存中获取
       auth!!.inMemoryAuthentication().withUser("dafei1288").password("dafei1288").roles("USER")

//jdbcAuthentication从数据库中获取,但是默认是以security提供的表结构
       //usersByUsernameQuery 指定查询用户SQL
       //authoritiesByUsernameQuery 指定查询权限SQL
       //auth.jdbcAuthentication().dataSource(dataSource).usersByUsernameQuery(query).authoritiesByUsernameQuery(query);

       //注入userDetailsService,需要实现userDetailsService接口
       //auth.userDetailsService(userDetailsService);
   }

/**定义安全策略 */
   @Throws(Exception::class)
override fun configure(http: HttpSecurity) {
http.csrf().disable()
http.headers().frameOptions().disable();
       http.authorizeRequests()//配置安全策略
               .antMatchers("/**","/h2-console/**").permitAll()//定义/请求不需要验证
               .anyRequest().authenticated()//其余的所有请求都需要验证
               .and()
.logout()
.permitAll()//定义logout不需要验证
               .and()
.formLogin()//使用form表单登录

   }

}



先踩这么多,后面要进入API规划了。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

麒思妙想

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值