- 浏览: 194057 次
- 性别:
- 来自: 南京
最新评论
文章列表
本文主要描述如何实现在一台Linux机器上搭建一个Pseudo-Distributed的Hadoop,在另外一台机器上通过API访问
服务器端环境搭建:
1.版本信息
java:1.8.0_172
Hadoop: 2.9.1
2.设置JAVA_HOME
在~/.bash_profile中追加如下内容
JAVA_HOME=/usr/java/jdk1.8.0_172-amd64
export JAVA_HOME
执行如下命令使上述设置立即生效
source ~/.bash_profile
3.设置hostname
hostname do ...
本文主要描述如何实现在一台Linux机器上搭建一个standalone的hbase,在另外一台机器上通过API访问
服务器端环境搭建:
1.版本信息
java:1.8.0_172
hbase: 1.2.6
2.设置JAVA_HOME
在~/.bash_profile中追加如下内容
JAVA_HOME=/usr/java/jdk1.8.0_172-amd64
export JAVA_HOME
执行如下命令使上述设置立即生效
source ~/.bash_profile
3.设置hostname
hostname docker05
4.下 ...
1.cas 认证流程
2.spring security中利用CasAuthenticationFilter对请求进行拦截的处理流程
3.具体示例
spring-security(八)java config-sample之cas client
前言
本文将详细探讨spring security中的鉴权操作,包括AbstractSecurityInterceptor的不同实现,后面章节还会讨论更加精确的域对象访问控制。
1.架构
1.1 组件之Authorities
在核心组件章节,我们知道认证后的Authentication中都会存储一个GrantedAuthority列表,代表着当前认证用户所具有的权限信息。在鉴权阶段AccessDecisionManager从Authentication中读取到这个列表,并据此作出是否允许用户操作执行的判断。GrantedAuthority是一个接口,里面只有一个方法
String get ...
1.什么是CSRF攻击
下面我们以一个具体的例子来说明这种常见的攻击模式
1.1 假定某个银行的网站提供让当前登录用户给其他账号转账的功能,转账请求的格式如下
POST /transfer HTTP/1.1
Host: bank.example.com
Cookie: JSESSIONID=randomid; Domain=bank.example.com; Secure; HttpOnly
Content-Type: application/x-www-form-urlencoded
amount=100.00&routingNumber=1234&account= ...
前言:
Remember-me认证方式指的是能在不同的会话间记录用户认证信息的功能。通常通过向客户端发送一个cookie,在以后用户访问网站时通过这个cookie中的信息来自动登录实现。spring security 已经为我们提供了必要的hooks实现这个功能,并提供了两种具体的实现。一种是cookie中token包含了所有认证所需信息,并通过hash算法来保护这个token,另一种通过数据库或者其他持久化机制来存储生成的token。两种实现方式都需要我们提供一个UserDetailsService。如果我们采取的认证方式没有用到UserDetailsService(如LDAP),除非我们 ...
前言:
在web应用中,非常流行以基本认证和摘要认证作为备选的认证机制。其中基本认证常用来对无状态的客户端进行认证,例如结合基于form的认证形式我们既能给用浏览器访问的用户提供认证也能给用web-service(restful)进行访问的用户提供认证。因为基本认证时用户名和密码都是以文本形式传递到服务端的,在安全级别高的应用中,基本认证要在传输过程中进行加密,例如采用https的形式。
一、基本认证
1.过滤器BasicAuthenticationFilter
和基本认证相关的逻辑主要在这个filter,当filter收到请求时按照如下逻辑执行
从request的header中获取属性A ...
一、UsernamePasswordAuthenticationFilter功能和属性
到目前为止,我们已经探讨了三个主要的filter,当采用默认配置时spring security会自动给我们追加这三个filter,现在我们的filter中还差一个处理用户认证的filter,下面我们就主要讨论下最常用的认证filter-UsernamePasswordAuthenticationFilter。
1.重要属性
AuthenticationManager 认证用,默认情况下是ProviderManager
RememberMeServices 如果启用remember功能,spring会给我 ...
一、SecurityContextPersistenceFilter功能和属性
1.在前面介绍spring filter顺序时,我们简单介绍过SecurityContextPersistenceFilter,他主要有两个作用。
请求开始时从对应的SecurityContextRepository获取securityContext存入SecurityContextHolder中
请求结束时清除SecurityContextHolder中的securityContext,将本次请求执行后新的SecurityContext存入到对应的SecurityContextRepository中
其中在请求 ...
前言:
在spring的安全过滤器链中ExceptionTranslationFilter在FilterSecurityInterceptor的前面,这个过滤器自身并不执行具体的安全防护,他主要处理FilterSecurityInterceptor这个过滤器抛出的各种异常,并返回给客户端一个合适的http响应。
一 ...
前言:
当用spring security时,我们会用到各种各样的filter,在接下来的章节中我们我们将着重讨论几个核心的Filter,本节将讨论FilterSecurityInterceptor这个filter。
和这个类相关的对象如下图所示
一、FilterSecurityInterceptor功能和属性
...
前言:
spring security在web应用中是通过各种各样的filter来做认证和安全控制的,由于filter之间的依赖性,过滤器链中filter的顺序也极其重要,不管实际项目中我们选用了哪些过滤器。
1.filter顺序
ChannelProcessingFilter,访问协议控 ...
前言:
spring security最常见的应用场景还是基于http请求和servlet API的web应用,接下来的几个章节我们将重点探讨下spring security是如何在web应用中实现认证和访问控制的。通过前面章节的讲述,我们已经了解到,在web应用中spring是通过各种各样的filter来做认证和鉴权,本小节就主要讨论下spring中过滤器的几个主要组件。
1.DelegatingFilterProxy
为了使Filter起作用,我们必须明确的在web.xml中声明,或者通过servlet3.0+中追加的方法ServletContext.addFilter方法追加到serv ...
前言:
在实际应用中,如果我们直接把密码以明文形式存储在数据库中存在一定的安全隐患。所以最好以某中方式将密码编码后再存储下来,用户登录时将用户输入的密码也按照相同的编码方式编码后和数据库中存储的密码相 ...
前言:
作为spring security的核心类,大多数的认证方式都会用到UserDetailsService和UserDetails这两个接口,本文会详细探讨下UserDetailsService及其实现类。
1. UserDetailsService接口
在spring security中,为了方便扩展,UserDetailsService接口被设计的极其简单,只包含一个方法
UserDetails loadUserByUsername(String username) throws UsernameNotFoundException;
根据提供的用户名,查找对应的用户信息 ...