木捻石

此人很懒,啥都没写

所在地区 : 中国-吉林-白城
加入时间 : 2018-02-09
最近登录 : 2018-02-09 上午 11:20
我的母语 : 中文
第一外语 : 英文 ( A1 级)
第二外语 : 德文 ( A0 级)
资格证书 : <无>

关注的频道

翻译 20 段
翻译 0 段
翻译 0 段
翻译 0 段

最新动态

使用JWTs对Restful API进行安全保护 JSON Web令牌,俗称JWTs,令牌是用来对用户进行身份验证的应用。该技术在过去的几年里已经得到普及,因为它使后端通过简单验证这些JWTs就可以接受该请求。也就是说使用JWTs应用...
当后台服务器接收一个包含JWT的请求,要做的第一件事是验证令牌。这包括一系列步骤,如果其中任何一项失败,则必须拒绝该请求。下面的列表显示需要的验证步骤: 检查JWT格式。 检查签名。 验证标准的要求。 检查客户端的权限(范围)。 我们...
RESTful Spring Boot API 概述 我们要进行安全保护的RESTful Spring Boot API 是一个任务列表管理器。任务列表是全局保存的,这意味着所有用户都将看到并与同一个列表交互。要克隆和运行这个应用程序...
所有用于上述指令的服务终端是在taskcontroller类定义,属于com.auth0.samples.authapi.task包。除了这个类外,这个包还包含另外两个类: 我们的应用程序的持久层是由称为HSQLDB的内存数据库。现实...
为Spring Boot APIs启用用户注册 现在我们来看一下RESTful Spring Boot API发布的服务终端,我们将对它进行安全保护。第一步是允许新用户注册自己。这类特征的类创建于一个新的包称为com.auth0.sa...
这个实体类包含三个属性: 作为应用程序中用户实例的主要标识符工作的id。 用户将用来标识自己的用户名。 以及检查用户标识的密码。 管理本单位的持久层,我们将创建一个接口,称为ApplicationUserRepository。该接口作...
我们还增加了一种findByUsername这个接口。这种方法将在实现身份验证功能时使用。 允许新用户注册的服务终端将由一个新的@Controller类处理。我们将调用控制器UserController并且把它加到和类Applicat...
服务终端的实现非常简单。它所做的只是对新用户的密码进行加密(把它作为纯文本保存不是一个好主意)然后将其保存到数据库中。加密过程是由BCryptPasswordEncoder实例的处理,这是一类属于Spring的安全框架。 现在我们的应...
第一个问题是通过将Spring安全框架依赖项添加到 : 第二个问题,通过实施一个生成实例的方法解决缺失的bcryptpasswordencoder. 这个方法必须用@ bean注释,我们将在应用程序类中添加:
这将结束用户注册功能,但我们仍然缺乏对用户身份验证和授权的支持。让我们来解决这些特点下。 Spring Boot的用户身份验证和授权 为了支持我们应用程序中的身份验证和授权,我们将: 实现用户身份验证过滤器发行JWT到用户发送凭据。 ...
在进行开发过滤器和类之前,让我们创建一个新的包称为com.auth0.samples.authapi.security。这个包将放置我们的应用程序安全相关的所有代码。 认证过滤器 我们要创建的第一个元素是负责身份验证过程的类。我们要调...
注意,我们的身份验证过滤器扩展了UsernamePasswordAuthenticationFilter类创建的。当我们向Spring安全添加一个新的过滤器时,我们可以显式地定义过滤器链中的哪个位置,或者我们可以让框架自己来指出它。通...
我们的IDE可能会抱怨这个类中的代码有两个原因。首先,因为代码从一个我们还没有创建的类中导入了四个常量, . 其次,因为JWTs的生成要利用类Jwts,但我们并没有把此类库作为项目依赖。 让我们先解决缺失的依赖。在,让我们添加以下代码...
这个类包含了所有四个常量引用JWTAuthenticationFilter类,在SIGN_UP_URL常数将在稍后使用。 授权过滤器
由于我们已经实现了负责验证用户的过滤器,现在我们需要实现负责用户授权的过滤器。我们创建这个滤器作为一种新的类,称为jwtauthorizationfilter,在com.auth0.samples.authapi.security包:
我们已经扩展了过滤器,使Spring在我们定制的过滤器链中替换它。该过滤器最重要的部分是我们实现的私有getauthentication方法。这个方法从授权头部读取JWT,然后使用Jwts验证令牌。如果一切都到位,我们的用户在Secu...
我们已经注释该类@EnableWebSecurity并且扩展WebSecurityConfigurerAdapter,这样就可以利用Spring security提供的默认的web安全配置。这允许我们通过覆盖两种方法来调整框架以满足需...
Spring Security没有附带内存数据库UserDetailsService的具体实现。因此,我们创建一个新的类UserDetailsServiceImpl,它建立在com.auth0.samples.authapi.user包中:
唯一的方法,我们必须实现是loadUserByUsername。当用户试图进行身份验证时,该方法接收用户名,在数据库中搜索包含它的记录,并且(如果找到)返回用户实例。然后,根据登录请求中用户传递的凭据,检查这个实例的属性(用户名和密码...
结论 RESTful Spring Boot API的JWTs安全认证并不困难。本文表明,通过创建两个类并扩展Spring安全提供的其他几个类,我们可以保护我们的服务终端不受未知用户的影响,使用户能够注册自己并基于JWTs完成用户认证...
显示更多