企业权限管理系统知识 day05 用户登录相关操作

一、 SSM权限操作

1.1 数据库与表结构

1.1.1 用户表 

1.1.1.1 用户表信息描述users

 

1.1.1.2 sql语句

 

1.1.1.3 实体类

     

1.1.2 角色表 

1.1.2.1 角色表信息描述role

 

1.1.2.2 sql语句

 

1.1.2.3 实体类

 

1.1.2.4 用户与角色关联关系

        用户与角色之间是多对多关系,我们通过user_role表来描述其关联,在实体类中User中存在List,在Role中有List. 而角色与权限之间也存在关系,我们会在后面介绍。

         

1.1.3 资源权限表 

1.1.3.1 权限资源表描述permission

 

1.1.3.2 sql语句

 

1.1.3.3 实体类

 

1.1.3.4 权限资源与角色关联关系

        权限资源与角色是多对多关系,我们使用role_permission表来描述。在实体类Permission中存在List,在Role类中 有List

 

1.2 Spring Security概述

1.2.1 Spring Security介绍

        Spring Security 的前身是 Acegi Security ,是 Spring 项目组中用来提供安全认证服务的框架。Spring Security 为基于J2EE企业应用软件提供了全面安全服务。特别是使用领先的J2EE解决方案-Spring框架开发的企业软件项目。

        人们使用Spring Security有很多种原因,不过通常吸引他们的是在J2EE Servlet规范或EJB规范中找不到典型企业应用场景的解决方案。 特别要指出的是他们不能再 WAR 或 EAR 级别进行移植。这样,如果你更换服务器环境,就要在新的目标环境进行大量的工作,对你的应用系统进行重新配置安全。使用Spring Security 解决了这些问题,也为你提供很多有用的,完全可以指定的其他安全特性。 安全包括两个主要操作。 

        “认证”是为用户建立一个他所声明的主体。主体一般是指用户,设备或可以在你系统中执行动作的其他系统。 

        “授权”指的是一个用户能否在你的应用中执行某个操作,在到达授权判断之前,身份的主体已经由身份验证过程建立了。 这些概念是通用的,不是Spring Security特有的。

        在身份验证层面,Spring Security广泛支持各种身份验证模式, 这些验证模型绝大多数都由第三方提供,正在开发的有关标准机构提供的,例如 Internet Engineering Task Force。作为补充,Spring Security 也提供了自己的一套验证功能。 

        Spring Security 目前支持认证一体化如下认证技术: HTTP BASIC authentication headers (一个基于IEFT RFC 的 标准) HTTP Digest authentication headers (一个基于IEFT RFC 的标准) HTTP X.509 client certificate exchange (一个基于IEFT RFC 的标准) LDAP (一个非常常见的跨平台认证需要做法,特别是在大环境) Form-based authentication (提供简单用户接口的需求) OpenID authentication Computer Associates Siteminder JA-SIG Central Authentication Service (CAS,这是一个流行的开源单点登录系统) Transparent authentication context propagation for Remote Method Invocation and HttpInvoker (一个Spring远程调用协议)

1.2.2 Spring Security快速入门

1.2.2.1 pom.xml中添加Maven依赖

 

1.2.2.2 配置web.xml

 

1.2.2.3 spring security配置

 

1.2.2.4 测试

1.2.2.5 使用自定义页面

 

1.2.3 Spring Security使用数据库认证

        在Spring Security中如果想要使用数据进行认证操作,有很多种操作方式,这里我们介绍使用UserDetails、 UserDetailsService来完成操作。

        UserDetails是一个接口,我们可以认为UserDetails作用是封装当前进行认证的用户信息,但由于其是一个接口,所以我们可以对其进行实现,也可以使用Spring Security提供的一个UserDetails的实现类User来完成操作

        以下是User类的部分代码

         

        UserDetailsService:

         

1.3 用户管理

1.3.1 用户登录

1.3.1.1 spring security的配置

 

1.3.1.2 编写登录页面login.jsp

1.3.1.3 编写Service

 

 

1.3.1.4.IUserDao

 

1.3.2 用户退出

        使用spring security完成用户退出,非常简单

         

        页面中:

         

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小陈工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值