首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于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

但是开始怎么也连不上

先关了防火墙: 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 classSecurityConfig : WebSecurityConfigurerAdapter() {

/**定义认证用户信息获取来源,密码校验规则等*/

@Throws(Exception::class)

override funconfigure(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 funconfigure(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规划了。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180128G0JVUI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券