持续提升技术,完善知识体系
技术点滴

2016-05-17 19:55:58

Spring Security配置使用介绍(四)增加验证码

Spring Security配置使用介绍(四)增加验证码 本文基于此前介绍过spring security动态配置权限,使用的方法是增加过滤拦截对权限进行处理, 此篇介绍基于上一篇已实现动态权限配置,增加验证码功能。 1、实现spring-security验证码功能,只需要增加一个过滤器便可。此过滤继承UsernamePasswordAuthenticationFilter,在验证用户名密码之前验证码校验, java代码实现如下 ValidateCodeAuthenticationFilter.java package com.hode.security; import java.util.Date; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang.StringUtils; import org.springframework.security.core.Authentication;...

2016-05-16 23:02:58

使用javaagent参数保存二进制class文件

使用javaagent参数保存二进制class文件 使用-javaagent 参数用户可以在执行main函数前执行一些其他操作,如可以动态的修改替换类中代码。既然可以修改类那么自然就可以获取到类(class二进制)了。 本文同样使用maven去打一个包 1、编写pom.xml,此处仅仅是定义一个jar工程 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.hode</groupId> <artifactId>clazzagent</artifactId> <version>0.0.1-SNAPSHOT</version> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version>...

2016-05-16 21:55:58

Spring Security配置使用介绍(三)暴力动态配置权限(修改源码不推荐)

Spring Security配置使用介绍(三)暴力动态配置权限(修改源码不推荐) 前面介绍过spring security动态配置权限,使用的方法是增加过滤拦截对权限进行处理, 此篇介绍修改源码实现动态权限,部分代码基于上一篇进行修改,帮助理解spring security。 1、此方法修改源码,不需要另外增加拦截器,我们先在applicationContext-security.xml配置好已有权限,再动态调整其权限。 applicationContext-security.xml内容如下 <?xml version="1.0" encoding="UTF-8"?> <beans:beans xmlns="http://www.springframework.org/schema/security" xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.2.xsd"> <http...

2016-05-16 20:55:58

Spring Security配置使用介绍(二)动态配置权限

Spring Security配置使用介绍(二)动态配置权限 本文接上文Spring Security配置使用介绍(一)简单配置, 由上一篇介绍,在配置文件applicationContext-security.xml中配置了intercept-url pattern=”/**” access=”isAuthenticated()”,表示需登录授权访问, 这是一个非常简单的权限控制,实际使用中我们需要增加角色并配置相应的权限。 在上文中的demo中的代码可以看到,login.jsp中定义了用户名为1,而在类UserDetailsServiceImpl中new User()中填入的用户名为admin,这主要是因为 spring-security并不验证用户名,可从源码中看到(查看源代码验证密码部分,关键代码在 org.springframework.security.authentication.dao.DaoAuthenticationProvider.additionalAuthenticationChecks(UserDetails, UsernamePasswordAuthenticationToken)方法中),此时会将admin 保存到session中。 根据上一篇所介绍的简单使用,本文在此基础上完成配置,文章后面将附上源码以供下载学习 1、其中pom.xml、log4j.properties、applicationContext.xml、applicationContext-mvc.xml、web.xml不作修改。 2、修改applicationContext-security.xml,增加配置过滤拦截器完成对请求的拦截,内容如下 applicationContext-security.xml <?xml version="1.0"...

2016-05-15 21:02:58

Spring Security配置使用介绍(一)简单配置

Spring Security配置使用介绍(一)简单配置 Spring Security,这是一种基于Spring AOP和Servlet过滤器的安全框架。它提供全面的安全性解决方案,同时在Web请求级和方法调用级处理身份确认和授权。 在Spring Framework基础上,Spring Security充分利用了依赖注入(DI,Dependency Injection)和面向切面技术。 简单来说Spring Security是通过众多的拦截器对请求的url进行拦截,以此达到权限管理的目的,下面一步步介绍Spring Security使用。 1、编写pom.xml,主要有spring及其security相关依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.hode</groupId>...

2016-05-13 19:14:48

使用Spring Session + Redis管理会话

使用Spring Session + Redis管理会话 1、需先安装好redis,可以参考redis安装。 2、编写pom.xml文件,内容如下 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.hode</groupId> <artifactId>spring-session</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <properties> <spring.version>4.0.7.RELEASE</spring.version> <log4j.version>1.2.17</log4j.version> <jackson.version>1.9.12</jackson.version>...

2016-05-12 21:33:48

Linux环境下安装nginx

Linux环境下安装nginx 从nginx官网(http://nginx.org/en/download.html)下载nginx-1.14.2.tar.gz安装包 解压到目录 cd /software tar -xzvf nginx-1.14.2.tar.gz 安装nginx所需依赖,安装prce(重定向支持)和openssl(https支持,如果不需要https可以不安装。) yum -y install gcc yum -y install pcre* yum -y install...

2016-05-11 19:55:11

Spring4 + cxf3 构建wsdl webservice

Spring4 + cxf3 构建wsdl webservice 本文介绍通过spring4.0.2 + apache cxf3.0.3构建一个wsdl webservice服务。 项目的结构如下: jaxws-client:客户端 jaxws-interface:公共接口 jaxws-server:服务端 说明:客户端与服务端均使用公共接口中的定义 1、新建一个maven项目jaxws-interface 其中pom.xml如下 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"...

2016-05-09 20:08:48

Maven命令:deploy和release命令

Maven命令:deploy和release命令 本文介绍deploy及release命令,首先需在maven配置文件conf/settings.xml配置好私服 示例settings.xml <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <pluginGroups> </pluginGroups> <proxies> </proxies> <servers> <!-- 配置发布私服用户名密码 --> <server>...

2016-05-08 19:22:48

Nexus2.9.0 私服 linux安装使用

Nexus2.9.0 私服 linux安装使用 下载nexus-2.9.0-bundle.zip,使用解压命令 unzip nexus-latest-bundle.zip -d . 解压到目录/software/nexus-2.7.2-03 若为root用户需在 /etc/profile最后添加一行export RUN_AS_USER=root 并source /etc/profile使其生效 cd /software/nexus-2.7.2-03/bin 执行 ./nexus start 若存在Caused...

2016-05-07 20:11:48

jenkins远程发布应用到tomcat中,使用shell脚本或jenkins deploy插件

jenkins远程发布应用到tomcat中,使用shell脚本或jenkins deploy插件 Jenkins将构建完成后的war包部署到tomcat有很多方式可操作,本文介绍两种操作, 分别是使用jenkins的Deploy to container Plugin插件及执行linux ssh方式。 1、使用插件方式,插件为Deploy to container Plugin,需先安装好插件。 配置远程机器的tomcat(本例使用tomcat-7.0.68),因此种方式需使用tomcat管理发布,需首先配置用户 进入tomcat根目录 vi conf/tomcat-users.xml 在标签</tomcat-users>前添加如下代码 <role rolename="tomcat"/> <role...

2016-05-06 21:23:48

jenkins安装与使用

jenkins安装与使用 本例演示使用jenkins.war包直接部署,版本为2.7.2,可以网址https://jenkins.io/index.html查看。 步骤一、 下载jenkins包(jenkins.war包) 重新配置下jenkins工作目录 /project/jenkins_space vi /etc/profile 文件尾部添加 export JENKINS_HOME=/project/jenkins_space source /etc/profile 使配置立即生效 步骤二、 安装好tomcat,将jenkins.war放到tomcat的webapps中,启动tomcat即可,若出现类似以下警告, 则直接修改hosts文件(vi /etc/hosts),将原127.0.0.1替换成127.0.0.1 localhost centos-a即可...

2016-05-05 20:09:48

centos minimal使用ssh/scp命令不录入密码

centos minimal使用ssh/scp命令不录入密码 不同的Linux服务器之间经常需要文档拷贝,本例演示在已安装的两台CentOS-6.7-x86_64-minimal机器上使用scp传输文件。 暂定义机器A(ip:192.168.88.102),机器B(ip:192.168.88.103), 在机器B上操作如下命令 scp -p /software/download/quartz-2.2.1-distribution.tar.gz root@192.168.88.102:/software/download/quartz-2.2.1-distribution.tar.gz 表示将机器B上的文件拷贝到机上A上,未做任何配置时,需输入root的密码,日志如下 [root@centos-b ~]# scp -p /software/download/quartz-2.2.1-distribution.tar.gz root@192.168.88.102:/software/download/quartz-2.2.1-distribution.tar.gz The authenticity of host...

2016-05-04 20:41:11

Spring4 + cxf3 构建restful webservice

Spring4 + cxf3 构建restful webservice 本文介绍通过spring4.0.2 + apache cxf3.0.3构建一个restful webservice服务。 项目的结构如下: jaxrs-client:客户端 jaxrs-interface:公共接口 jaxrs-server:服务端 说明:客户端与服务端均使用公共接口中的定义 1、新建一个maven项目jaxrs-interface 其中pom.xml如下 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"...

2016-05-02 20:33:01

Dubbox的rest风格调用例子

Dubbox的rest风格调用例子 Dubbo是一个被国内很多互联网公司广泛使用的开源分布式服务框架,即使从国际视野来看应该也是一个非常全面的SOA基础框架。 作为一个重要的技术研究课题,在当当网我们根据自身的需求,为Dubbo实现了一些新的功能,并将其命名为Dubbox(即Dubbo eXtensions) 本例中使用jetty server,若本例中其中使用某些alibaba的jar包无法在网上下载,可直接下载源码 git clone https://github.com/dangdangdotcom/dubbox 将其安装到本地库中。 1、编写pom.xml,内容较多,其中包括jetty等 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.hode</groupId> <artifactId>dubbox</artifactId> <version>0.0.1-SNAPSHOT</version>...