Spring Security学习一-控制同个帐号当前只能有一个登录

2023-11-10

Date: 2016-09-14
Author: Kagula
Envronment:
[1]JDK 1.7.0_79
[2]apache-tomcat-7.0.68
[3]Eclipse Mars2

Introduction:
   据《spring security的原理及教程》能实现
[a]踢出其它地方登录的这个帐号。
[b]或者已经登录了,就不允许再登录。
   理论部份参考资料[1]《spring security的原理及教程》
   这里只贴代码
 
Content:
控制流


四个类之间的相互依赖

示例由6个class、6个jsp、三个配置文件组成
web.xml
 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="schedule-console" version="3.0">
 
  <display-name>Archetype Created Web Application</display-name>
  
  <!--加载Spring XML配置文件 -->
  <context-param>
  	<param-name>contextConfigLocation</param-name>
    <param-value> classpath:securityConfig.xml</param-value>
  </context-param> 
  
  <!-- Spring Secutiry3.1的过滤器链配置 -->
  <filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
  </filter>
  
  <filter-mapping>
  	<filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  
  <!-- Spring 容器启动监听器 -->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>   
      
  <!--系统欢迎页面 -->
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
</web-app>



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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.nuoke</groupId>
  <artifactId>testSpringSecurity</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>testSpringSecurity Maven Webapp</name>
  <url>http://maven.apache.org</url>
  
  <properties>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
	<spring.version>3.1.2.RELEASE</spring.version>
  </properties>
  
  <dependencies>    
    <dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-core</artifactId>
		<version>${spring.version}</version>
		<!-- <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> 
			</exclusion> </exclusions> -->
	</dependency>	
	
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-beans</artifactId>
		<version>${spring.version}</version>
	</dependency>	
	
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-webmvc</artifactId>
		<version>${spring.version}</version>
	</dependency>
	
	<dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-core</artifactId>
      <version>${spring.version}</version>
    </dependency>
    
    <dependency>  
      <groupId>org.springframework.security</groupId>  
      <artifactId>spring-security-web</artifactId>  
      <version>${spring.version}</version>
	</dependency>
	 
	<dependency>  
      <groupId>org.springframework.security</groupId>  
      <artifactId>spring-security-config</artifactId>  
      <version>${spring.version}</version>  
    </dependency> 

    <dependency>  
      <groupId>org.springframework.security</groupId>  
      <artifactId>spring-security-taglibs</artifactId>  
      <version>${spring.version}</version>  
    </dependency>  
  </dependencies>
  
  <build>
    <finalName>testSpringSecurity</finalName>
     <plugins>  
       <!--  为了解决“Dynamic Web Module 3.0 requires Java 1.6 or newer.”错误需要下面的plugin -->
        <plugin>  
          <groupId>org.apache.maven.plugins</groupId>  
          <artifactId>maven-compiler-plugin</artifactId>  
          <version>3.0</version>  
          <configuration>  
              <source>1.7</source>  
              <target>1.7</target>  
          </configuration>  
        </plugin>  
    </plugins>  
  </build
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Security学习一-控制同个帐号当前只能有一个登录 的相关文章

随机推荐

  • python 用逐步回归筛选变量

    在回归分析中 影响因变量y的因素很多 而有些自变量的对目标变量y的影响程度不同 为了建立一个相对最优的回归方程 我们需要筛选掉对目标变量y影响不大的变量 这就涉及到了变量选择问题 逐步回归是通过假设检验的方法来筛选强特征 但如果直接用特征变
  • Springboot线上环境彻底关闭Swagger-UI

    文章目录 概要 整体架构流程 技术细节 小结 概要 Springboot线上环境彻底关闭Swagger UI 整体架构流程 1 SwaggerConfig使用 Profile排除线上环境其他环境生效 2 创建一个控制类使用 Profile仅
  • 一、绘制不同类别特征均值标准差直方图

    1 绘制不同类别植被指数均值标准差直方图 数据类型 不同类别样本植被指数 实验目的 1 计算不同类别各指数的均值和标准差 1 1读取表格中的数据 1 2预处理数据 提取不同类别指数 归一化指数 计算均值标准差 1 3画图 import pa
  • fhog资料整理

    fast hog资料整理 https github com joaofaro FHOG https github com ppaanngggg fhog 这个有两种 1 DPM的 Mat tmp image image convertTo
  • 如何读取字符串中的空格

    根据前面的学习 我们可以知道scanf读取到空格 回车 tab会停止读取 后面的内容会交给后面的scanf读取 那么问题来了 我们如何让scanf语句把字符串中的空格也读取呢 在scanf中使用 参数 这个参数的作用就是读取一个字符集合 中
  • Python+Selenium框架篇1-介绍unittest单元测试框架

    本文介绍什么是unittest单元测试框架 1 什么是unittest框架 unittest框架 原名PyUnit框架 是Python语言自带的单元测试框架 Python2 1及其之后的版本已将unittest作为一个标准模块放入Pytho
  • 【PC】响应式HTML5网页项目

    快速完成网页设计 10个顶尖响应式HTML5网页模板助你一臂之力 为了寻找一个优质的网页模板 网页设计师和开发者往往可能会花上大半天的时间 不过幸运的是 现在的网页设计师和开发人员已经开始共享HTML5 Bootstrap和CSS3中的免费
  • untiy 监听屏幕点击 物体(实现)

    第一种方式 1 百度的第三方法 using System Collections using System Collections Generic using UnityEngine using UnityEngine UI public
  • linux下nginx+php安装

    初始nginx php环境文件复制安装 需要复制的文件列表 usr local nginx usr local php usr local php 5 4 35 data mexue apps mysql etc init d mysqld
  • C#反射:GetManifestResourceStream

    public virtual Stream GetManifestResourceStream string name 参数 name 类型 System String 所请求的清单资源的名称 区分大小写 name格式 项目名称 文件名 通
  • 区块链:单位(Units) 和 全局变量(Globally Available Variables)

    Ether Units 一个整数的后面可以跟一个单位 ether finney szabo或者wei 他们的单位换算如下 1 ether 1000 finney 1 ether 1000000 szabo 1 ether 10 18 wei
  • sql count中加条件

    一般的 我们会在where 或者 having中加条件 count中只是某个字段 今天看到另外一种写法 不知道性能怎么样 select count case when xxx gt 10 and yyy lt 99 then bbb els
  • gitlab的安装过程以及如何修改默认端口

    工欲善其事 必先利其器 此文讲述的是gitlab的安装历程 需要有一定的英文阅读能力者 安装环境 ubuntu Ubuntu 17 04 官方推荐需要的硬件条件 Storage a fast drive 7200 RPM and up or
  • tsconfig.json的esModuleInterop使用场景是怎样的?

    问题场景 npm包改造前 仅支持esm npm包改造后 既支持esm 又支持cjs 为什么改造后 还是会报错 如何理解ts编译配置esModuleInterop 总结 问题场景 遇到一个很有趣的场景 cjs中需要引入原先打包方式为esm方式
  • 基于NSGA算法解决地形路径规划问题(MATLAB代码)

    基于NSGA算法解决地形路径规划问题 MATLAB代码 地形路径规划是一个重要的问题 涉及到在具有复杂地形的环境中找到一条最佳路径 NSGA Non dominated Sorting Genetic Algorithm 是一种多目标优化算
  • WSL 的基本命令

    文章目录 安装 列出可用的 Linux 发行版 列出已安装的 Linux 发行版 将 WSL 版本设置为 1 或 2 设置默认 WSL 版本 设置默认 Linux 发行版 将目录更改为主页 通过 PowerShell 或 CMD 运行特定的
  • dmmbus地址_dmmbus.cc服务器iP

    2019 03 05 2020 12 19 69 171 233 37 2019 03 05 2020 12 19 69 171 245 84 2019 03 05 2020 12 19 69 171 247 20 2019 03 05 2
  • curl支持ssl报错:SSL certificate problem: unable to get local issuer certificate

    curl去访问https的站点报错 curl v https www baidu com SSLv3 TLS handshake Client hello 1 SSLv3 TLS handshake Server hello 2 SSLv3
  • 解决Cannot resolve plugin org.apache.maven.plugins:maven-site-plugin:3.3问题

    在maven项目中遇到这个问题 判断是版本不一致问题 解决 打开设置 Build Execution Deployment Build Tools Maven 如下图 问题的原因出在 在该项目集成的maven和当前项目设置不统一 可能是之前
  • Spring Security学习一-控制同个帐号当前只能有一个登录

    Date 2016 09 14 Author Kagula Envronment 1 JDK 1 7 0 79 2 apache tomcat 7 0 68 3 Eclipse Mars2 Introduction 据 spring sec