<?xml version="1.0"?>
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>com.plmc</groupId>
		<artifactId>parent-pom</artifactId>
		<version>1.0.1-SNAPSHOT</version>
	</parent>
	<artifactId>plmc-auth</artifactId>
	<name>plmc-auth</name>
	<version>1.0.1-SNAPSHOT</version>
	<url>http://maven.apache.org</url>
	<packaging>jar</packaging>
	
	<properties>
		<shiro.version>2.0.2</shiro.version>
		<jedis.version>5.1.0</jedis.version>
		<esapi.version>2.5.4.0</esapi.version>
		<fastjson2.version>2.0.53</fastjson2.version>
		<plmc.cache.version>1.0.1-SNAPSHOT</plmc.cache.version>
		<plmc.core.version>1.0.1-SNAPSHOT</plmc.core.version>
	</properties>
	
	<dependencies>
		<!-- Jakarta Servlet API -->
		<dependency>
			<groupId>jakarta.servlet</groupId>
			<artifactId>jakarta.servlet-api</artifactId>
			<scope>provided</scope>
		</dependency>
		
		<dependency>
		    <groupId>org.springframework</groupId>
		    <artifactId>spring-web</artifactId>
		</dependency>
		
		<dependency>
		  	<groupId>org.apache.tomcat.embed</groupId>
		  	<artifactId>tomcat-embed-core</artifactId>
		</dependency>
		
		<!-- Apache Shiro 2.x with Jakarta EE support -->
		<dependency>
			<groupId>org.apache.shiro</groupId>
			<artifactId>shiro-core</artifactId>
			<version>${shiro.version}</version>
			<classifier>jakarta</classifier>
		</dependency>
		<dependency>
			<groupId>org.apache.shiro</groupId>
			<artifactId>shiro-web</artifactId>
			<version>${shiro.version}</version>
			<classifier>jakarta</classifier>
		</dependency>
		<dependency>
			<groupId>org.apache.shiro</groupId>
			<artifactId>shiro-spring</artifactId>
			<version>${shiro.version}</version>
			<classifier>jakarta</classifier>
		</dependency>
		
		<dependency>
		  	<groupId>commons-codec</groupId>
		  	<artifactId>commons-codec</artifactId>
		</dependency>

		<dependency>
		  	<groupId>org.apache.commons</groupId>
		  	<artifactId>commons-lang3</artifactId>
		</dependency>
		
		<!-- Jedis Redis客户端 -->
		<dependency>
		   <groupId>redis.clients</groupId>
		   <artifactId>jedis</artifactId>
		   <version>${jedis.version}</version>
		</dependency>
				
		<!-- Spring Data Redis -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-redis</artifactId>
		</dependency>
		
		<dependency>
		    <groupId>com.alibaba.fastjson2</groupId>
		    <artifactId>fastjson2</artifactId>
		    <version>${fastjson2.version}</version>
		</dependency>
		
		<dependency>
            <groupId>org.owasp.esapi</groupId>
            <artifactId>esapi</artifactId>
            <version>${esapi.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
                <exclusion>
                	<artifactId>log4j</artifactId>
                	<groupId>log4j</groupId>
                </exclusion>
                <exclusion>
                	<artifactId>commons-beanutils</artifactId>
                	<groupId>commons-beanutils</groupId>
                </exclusion>
                <exclusion>
                	<artifactId>commons-collections</artifactId>
                	<groupId>commons-collections</groupId>
                </exclusion>
            </exclusions>
        </dependency>
		
		<dependency>
			<groupId>com.plmc</groupId>
			<artifactId>plmc-cache</artifactId>
			<version>${plmc.cache.version}</version>
		</dependency>
		
		<dependency>
			<groupId>com.plmc</groupId>
			<artifactId>plmc-core</artifactId>
			<version>${plmc.core.version}</version>
		</dependency>

		<dependency>
		  	<groupId>org.slf4j</groupId>
		  	<artifactId>log4j-over-slf4j</artifactId>
		</dependency>
	</dependencies>
	
	<description>本组件提供对身份认证的功能，提供多种token生成方式，对特殊路径的服务资源进行认登录认证。支持cookie和Http header的方式验证用户信息，
		并提供无状态的方式与shiro集成，利用分布式缓存组件，管理Session信息。
		Apache Shiro是Java的一个轻量级的安全框架，简单易用。Shiro可以帮助开发人员完成认证、授权、加密、会话管理、Web集成、缓存等功能。
		EJC平台利用spring和shiro进行集成，使用token的方式对用户进行认证。同时采用无状态的方式，
		将shiro和web应用组装，配合分布式缓存redis的使用对session进行管理，实现了web服务的无状态，便于服务的水平扩展。</description>
</project>