Coder Social home page Coder Social logo

maven-shiro-ssm_test's Introduction

Maven-Shiro-SSM_test

测试使用maven构建项目,使用的是spring+springMVC+MyBatis的整合框架,shiro做身份认证,以及授权

本项目只做了功能测试,是针对登录模块,

为了熟悉shiro在整个项目中发挥的作用,通过一个小小的测试项目来实现。

数据库表中包含了: (1)user表,主要存放用户名密码的信息 (2)role表,存放角色,不同的用户对应的角色不同 (3)permission表,存放权限,不同的角色所拥有的权限也是不同的 简单的3张数据表,就能够测试shiro框架。

项目包分层: (1)controller控制层,接收请求。 (2)dao层,作为接口层,写的一些访问数据库的方法 。
(3)entity层,存放实体类。 (4)realm,自定义的Realm类。 (5)service层,全部写接口方法。 (6)serviceImpl,service的实现类。 (7)util,自定义一些项目中需要用到的类。

登录模块: 一个登录界面,通过用户输入用户名密码后,与数据库信息做匹配,正确则跳转到成功页面,失败则提示用户名或密码错误。 一个登录的功能,shiro框架主要完成了认证和授权这两个部分,首先会建立一个UsernamePasswordToken对象作为令牌, 这个令牌中包含的是用户的用户名密码,密码使用了MD5加密,然后调用subject.login(token);方法,然后这之中会调用到 我们的自定义类MyRealm中的方法,这个类继承自AuthorizingRealm,在这个类中的两个方法是doGetAuthenticationInfo()和 doGetAuthorizationInfo(),其功能分别是验证当前用户和为用户授予角色和权限,当然,这些角色和权限都是在我们数据表 中写好的,只需要我们从数据库中取出来。shiro的一个简单流程就是这样的,没有详细介绍,因为我也只是名初学者,shiro 中很多东西不懂。

在成功登入之后,会根据不同的角色或权限,提示欢迎信息,主要是shiro的一个标签库的使用。而这个标签库也就能够充分展示 我们不同角色或权限的用户的不同能力,如:权限低的用户有些东西看不见或者不能操作,而权限高的则是能够看见或者操作,这里 也就不做一一介绍。

这个小项目仅仅是测试shiro的功能,以及熟悉shiro的一个流程,看看数据在底层是如何传输和验证的。

maven-shiro-ssm_test's People

Contributors

csh090501 avatar csh941115 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.