1. 程式人生 > >Spring Security之旅————————————基本介紹安裝(1)

Spring Security之旅————————————基本介紹安裝(1)

首先建立一個maven專案 並建立一個子模組

然後父模組pom

<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>SolaSecurity</groupId>
	<artifactId>security</artifactId>
	<version>1.0.0</version>
	<packaging>pom</packaging>
 
	<parent>
        <groupId>io.spring.platform</groupId>
        <artifactId>platform-bom</artifactId>
        <version>Cairo-SR5</version>
        <relativePath/>
    </parent>
	
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<spring-cloud.version>Finchley.SR2</spring-cloud.version>
	</properties>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>${spring-cloud.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<plugins>
			<!--指定使用maven打包 -->
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<classifier>exec</classifier> <!-- 打包fat jar -->
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<skipTests>true</skipTests>    <!--預設關掉單元測試 -->
				</configuration>
			</plugin>
		</plugins>
	</build>
	
	<modules>
		<module>security-core</module>
	</modules>
</project>

子模組Pom

<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>
  <parent>
    <groupId>SolaSecurity</groupId>
    <artifactId>security</artifactId>
    <version>1.0.0</version>
  </parent>
  <groupId>SolaSecurity</groupId>
  <artifactId>security-core</artifactId>
  <version>1.0.0</version>
  
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-oauth2</artifactId>
		</dependency>
		
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-redis</artifactId>
		</dependency>
		
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.3.2</version>
		</dependency>
		
		<dependency>
  			<groupId>com.oracle</groupId>
  			<artifactId>ojdbc14</artifactId>
  			<version>10.2.0.4.0</version>
		</dependency>
		
		<dependency>
  			<groupId>org.springframework.social</groupId>
  			<artifactId>spring-social-config</artifactId>
		</dependency>
		<dependency>
  			<groupId>org.springframework.social</groupId>
  			<artifactId>spring-social-core</artifactId>
		</dependency>
		<dependency>
  			<groupId>org.springframework.social</groupId>
  			<artifactId>spring-social-security</artifactId>
		</dependency>
		<dependency>
  			<groupId>org.springframework.social</groupId>
  			<artifactId>spring-social-web</artifactId>
		</dependency>
		
		<dependency>
			<groupId>commons-lang</groupId>
  			<artifactId>commons-lang</artifactId>
		</dependency>
		<dependency>
			<groupId>commons-collections</groupId>
  			<artifactId>commons-collections</artifactId>
		</dependency>
		<dependency>
			<groupId>commons-beanutils</groupId>
  			<artifactId>commons-beanutils</artifactId>
		</dependency>
	</dependencies>
	
</project>

spring-cloud-starter-oauth2可以把Security相關的jar包全引用進來

 Lang 操作字串的工具     collections操作集合的工具       beanutils反射操作的工具    social第三方登陸用到的包

然後再建立一個子模組app來引用上面core模組(core模組就當成一個整合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>
  <parent>
    <groupId>SolaSecurity</groupId>
    <artifactId>security</artifactId>
    <version>1.0.0</version>
  </parent>
  <artifactId>security-app</artifactId>
  
  <dependencies>
  	<dependency>
  		<groupId>SolaSecurity</groupId>
	  	<artifactId>security-core</artifactId>
	  	<version>1.0.0</version>
  	</dependency>
  </dependencies>
  
</project>

再建立一個browser引入core的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>
  <parent>
    <groupId>SolaSecurity</groupId>
    <artifactId>security</artifactId>
    <version>1.0.0</version>
  </parent>
  <artifactId>security-browser</artifactId>
  
  
  <dependencies>
  	<dependency>
  		<groupId>SolaSecurity</groupId>
	  	<artifactId>security-core</artifactId>
	  	<version>1.0.0</version>
  	</dependency>
  	
  	<dependency>
  		<groupId>org.springframework.session</groupId>
    	<artifactId>spring-session</artifactId>
    	<version>1.3.3.RELEASE</version>
  	</dependency>
  </dependencies>
</project>

因為browser是瀏覽器模組  所以 這裡加入了一個springsession  如果叢集服務環境的話來控制session一致

最後我們來建一個demo子模組

案例從browser開始,所以在demo模組引入browser,模組的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>
  <parent>
    <groupId>SolaSecurity</groupId>
    <artifactId>security</artifactId>
    <version>1.0.0</version>
  </parent>
  <artifactId>security-demo</artifactId>
  
    <dependencies>
	  	  	
	  	<dependency>
	  		<groupId>SolaSecurity</groupId>
		  	<artifactId>security-browser</artifactId>
		  	<version>1.0.0</version>
	  	</dependency>
  	
  	</dependencies>
</project>

之後無聊啟動一下demo專案 報錯是正常的 因為(之前還有個錯,沒有配置資料庫地址也會報錯不過我比較機智)

<dependency>
  		<groupId>org.springframework.session</groupId>
    	<artifactId>spring-session</artifactId>
    	<version>1.3.3.RELEASE</version>
 </dependency>

session的儲存沒有配置,暫時可以把他關掉

spring:
  session:
    store-type: none

然後我們在頁面測測我們寫的helloworld介面(就是返回個字串)

然後彈出來個這玩意

這個預設的賬號是user,預設的密碼會在控制檯打出

也可以自己設定 

  security:
    user:
      name: sola
      password: sola

暫時也可以關閉它,在啟動類里加入註解

@SpringBootApplication
@EnableAutoConfiguration(exclude = {
		org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class
})
public class DemoApplication {

	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}
}

這樣基本的操作就搞完了,下面可以搞點事情了