1. 程式人生 > >ssm/shiro/freemarker/bootstrap實現登入

ssm/shiro/freemarker/bootstrap實現登入

我最近用了2天整理一了個相對來說比較好的ssm框架,目前實現登入功能,有比較完善的許可權功能。先上效果圖,激發一下你們的學習興趣。




專案程式碼目錄結構:maven+idea+ssm


資料庫連線池用的是阿里的druid:


頁面是採用H+框架:


不好意思,開始忘了給sql=======================================================

/*
Navicat MySQL Data Transfer

Source Server         : 11
Source Server Version : 50559
Source Database       : teemo

Target Server Type    : MYSQL
Target Server Version : 50559
File Encoding         : 65001

Date: 2018-02-26 18:47:22
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for sys_log
-- ----------------------------
DROP TABLE IF EXISTS `sys_log`;
CREATE TABLE `sys_log` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
  `type` char(1) DEFAULT '1' COMMENT '日誌型別',
  `title` varchar(255) DEFAULT '' COMMENT '日誌標題',
  `content` varchar(1000) DEFAULT '' COMMENT '日誌內容',
  `create_by` varchar(32) DEFAULT NULL COMMENT '建立者',
  `create_date` datetime DEFAULT NULL COMMENT '建立時間',
  `remote_addr` varchar(255) DEFAULT NULL COMMENT '操作IP地址',
  `request_uri` varchar(255) DEFAULT NULL COMMENT '請求URI',
  `remark` varchar(255) DEFAULT NULL COMMENT '擴充套件',
  PRIMARY KEY (`id`),
  KEY `sys_log_create_by` (`create_by`),
  KEY `sys_log_request_uri` (`request_uri`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='日誌表';

-- ----------------------------
-- Records of sys_log
-- ----------------------------
INSERT INTO `sys_log` VALUES ('1', '1', '1', '1', '1', '2018-02-20 18:26:31', '192.168.1.1', '/user', null);

-- ----------------------------
-- Table structure for u_permission
-- ----------------------------
DROP TABLE IF EXISTS `u_permission`;
CREATE TABLE `u_permission` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL COMMENT '資源名稱',
  `url` varchar(64) DEFAULT NULL COMMENT 'url地址',
  `permission` varchar(256) DEFAULT NULL COMMENT '描述',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of u_permission
-- ----------------------------
INSERT INTO `u_permission` VALUES ('1', '管理員介面', '/admin', null);
INSERT INTO `u_permission` VALUES ('2', '使用者介面', '/user', null);
INSERT INTO `u_permission` VALUES ('3', '測試介面', '/test', null);

-- ----------------------------
-- Table structure for u_role
-- ----------------------------
DROP TABLE IF EXISTS `u_role`;
CREATE TABLE `u_role` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(32) DEFAULT NULL COMMENT '角色名稱',
  `type` varchar(10) DEFAULT NULL COMMENT '角色型別',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of u_role
-- ----------------------------
INSERT INTO `u_role` VALUES ('1', 'admin', '超級管理員');
INSERT INTO `u_role` VALUES ('2', 'user', '管理員');
INSERT INTO `u_role` VALUES ('3', 'test', '測試人員');

-- ----------------------------
-- Table structure for u_role_permission
-- ----------------------------
DROP TABLE IF EXISTS `u_role_permission`;
CREATE TABLE `u_role_permission` (
  `rid` bigint(20) DEFAULT NULL COMMENT '角色ID',
  `pid` bigint(20) DEFAULT NULL COMMENT '許可權ID'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of u_role_permission
-- ----------------------------
INSERT INTO `u_role_permission` VALUES ('1', '1');
INSERT INTO `u_role_permission` VALUES ('2', '2');
INSERT INTO `u_role_permission` VALUES ('3', '3');

-- ----------------------------
-- Table structure for u_user
-- ----------------------------
DROP TABLE IF EXISTS `u_user`;
CREATE TABLE `u_user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
  `realname` varchar(255) DEFAULT NULL COMMENT '真實名稱',
  `username` varchar(100) NOT NULL COMMENT '使用者名稱',
  `portrait` varchar(250) DEFAULT NULL COMMENT '頭像',
  `password` varchar(100) DEFAULT NULL COMMENT '密碼',
  `email` varchar(20) DEFAULT NULL COMMENT '郵件',
  `phone` varchar(20) DEFAULT NULL COMMENT '聯絡電話',
  `create_by` varchar(32) DEFAULT NULL COMMENT '建立者',
  `create_time` datetime DEFAULT NULL COMMENT '建立時間',
  `last_login_time` datetime DEFAULT NULL COMMENT '最後登入時間',
  `status` bigint(1) DEFAULT '1' COMMENT '1:有效,0:禁止登入',
  `remarks` varchar(255) DEFAULT NULL COMMENT 'openid',
  `del_flag` char(1) DEFAULT '1',
  PRIMARY KEY (`id`,`username`),
  UNIQUE KEY `idx_u_user_username` (`username`),
  UNIQUE KEY `idx_u_user_email` (`email`),
  UNIQUE KEY `idx_u_user_phone` (`phone`)
) ENGINE=InnoDB AUTO_INCREMENT=10003 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of u_user
-- ----------------------------
INSERT INTO `u_user` VALUES ('10000', '小一', 'admin', null, 'df655ad8d3229f3269fad2a8bab59b6c', '
[email protected]
', null, null, null, null, '1', 'B43738161A2026887D10C16FE5341F64', '1'); INSERT INTO `u_user` VALUES ('10001', '小二', 'user', null, '098d2c478e9c11555ce2823231e02ec1', null, null, null, null, null, '1', 'B0CA0ED3FD66F6E85EDC4A050A75DAC3', '1'); INSERT INTO `u_user` VALUES ('10002', '小三', 'test', null, '4292bb58be34c59d28a0dcbd11932d49', null, null, null, null, null, '1', null, '1'); -- ---------------------------- -- Table structure for u_user_role -- ---------------------------- DROP TABLE IF EXISTS `u_user_role`; CREATE TABLE `u_user_role` ( `id` int(10) NOT NULL AUTO_INCREMENT, `uid` bigint(20) DEFAULT NULL COMMENT '使用者ID', `rid` bigint(20) DEFAULT NULL COMMENT '角色ID', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of u_user_role -- ---------------------------- INSERT INTO `u_user_role` VALUES ('1', '10000', '1'); INSERT INTO `u_user_role` VALUES ('2', '10001', '2'); INSERT INTO `u_user_role` VALUES ('3', '10002', '3');

相關推薦

ssm/shiro/freemarker/bootstrap實現登入

我最近用了2天整理一了個相對來說比較好的ssm框架,目前實現登入功能,有比較完善的許可權功能。先上效果圖,激發一下你們的學習興趣。專案程式碼目錄結構:maven+idea+ssm資料庫連線池用的是阿里的druid:頁面是採用H+框架:不好意思,開始忘了給sql========

bootstrap實現登入註冊介面

文章來自:原始碼線上https://www.shengli.me/css/65.html;   Bootstrap是一個Web前端開發框架,使用它提供的css、js檔案可以簡單、方便地美化HTML控制元件。Bootstrap框架為各種控制元件定義好了很多的類(class),在引入相

ssm+shiro 實現無密碼直接登入

利用shiro可以十分方便,有效的實現介面許可權控制功能。 但是在開發中,會遇到了這樣一種場景: 在微信公眾號開發裡,使用者在公眾號裡輸入使用者名稱和密碼繫結專案,繫結完成後,下次進入專案跳過登入 直接進入專案的首頁。在這個過程中,使用者第二次登入時是使用微信提供的ope

SSM整合Shiro實現登入認證

      折騰了好多天,遇到了好多傻逼問題。也在網上找了許多教程。對著人家原始碼敲都出問題,最後果斷刪掉之前寫的程式碼,重新按照自己的意思來寫。果然,只有自己想的才是適合自己的啊!結果就實現了認證功

ssm配置完成shiro實現登入驗證的功能

花了一天時間,算是完成了shiro登入驗證的這一基本功能。 https://www.w3cschool.cn/shiro/andc1if0.html 這個教程可以多看看,核心的基礎功能很重要。 實現shiro 第一步,引入所需要的依賴 在pom.xml檔案中加入 &

SSM+Shiro系統登入驗證碼的實現

1、驗證碼生成類: import java.util.Random; import java.awt.image.BufferedImage; import java.awt.Graphics; import java.awt.Font; import java.awt.Color; /** * 驗證碼

Jeeplus框架SSM+shiro許可權控制中實現跳過登入驗證訪問介面資料

新專案中用的Jeeplus框架,裡面用的shiro許可權控制,特別好用,但是如果單獨寫介面的話,總是會有登入驗證,下面上思路實現一行程式碼讓任意介面跳過登入限制。 正常程式碼生成機生成的程式碼不管它,這是每個模組都會自動生成的專案目錄下的模組目錄。 下面這個假設是我們自

Shiro實現(一): SSM整合筆記實現登入,授權功能

開篇 本專案已經上傳github,建議對照程式碼理解 本篇主要講Shiro框架與SSM框架結合,實現登入和授權功能 利用spring 的aop切面思想,很簡單得融合Shiro許可權框架 程式碼 需要明白兩個點: 通過Subject.login() 登入成

SSM組合+ springmvc+mybatis+shiro+restful+bootstrap

讀寫 安全 commons 核心 cit 支持 服務 編碼 數據 平臺簡介 Jeesz是一個分布式的框架,提供項目模塊化、服務化、熱插拔的思想,高度封裝安全性的Java EE快速開發平臺。 Jeesz本身集成Dubbo服務管控、Zookeep

分布式框架簡介SSM組合+ springmvc+mybatis+shiro+restful+bootstrap

dubbo+springmvc+mybatis+ehcache+redis J2ee分布式架構 restful kafka shiro 摘要: 核心框架:spring framework 安全框架:Apache Shiro 1.2 視圖框

Java——SSM+Shiro實現JSP頁面授權功能(面向小白)

在之前的部落格中已經實現了Shiro的登陸認證功能——《SSM+Shiro實現登陸認證》 今天利用Shiro實現一個頁面細粒化許可權的控制功能。 為什麼說是細粒化呢?因為它可以精準到頁面上的每一個按鈕,把控每一個按鈕的訪問許可權,可以說是非常強大了,而且簡單~ 想實現頁面的授權功能首

從頭開始——SSM+Shiro實現登陸認證

Shiro功能概述:  Shiro是一個功能強大且靈活的開源安全框架,可以清晰地處理身份驗證,授權,企業會話管理和加密。 身份驗證:有時也稱為“登入”,這是證明使用者是他們所說的人的行為。 授權:訪問控制的過程,即確定“誰”可以訪問“什麼”。 會話管

SSM+Shiro寫的一個簡單的登入驗證

專案結構 web.XML配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="

SSM (IDEA) —— 實現登入登出

resources裡所有配置檔案和LoginInterceptor登入攔截器的實現,博主之前的文章裡有一篇統一的放過程式碼,這裡就不放了。另外StudentDao,Student,StudentExample都是通過mybatis逆向工程生成的,具體實現方法博主之前文章也

ssm快速搭建-整合shiro+freemarker

菜鳥入手,理解性不是很強,直接上程式碼操作。(本章用作eclipse建立專案) 新建專案:shiro_parent shiro_parent-pom.xml <properties><properties> <pr

Shiro結合JWT實現單點登入

簡述 Apache Shiro是java的一個安全框架,Shiro可以幫助我們完成認證、授權、加密、會話管理、與Web整合、快取等。而且Shiro的API也比較簡單,這裡我們就不進行過多的贅述,想要詳細瞭解Shiro的,推薦看開濤的部落格(點這裡) 在Shiro的強大許可

SSM+Shiro+Bootstrap+Jquery專案實踐之使用者登陸

早在一年前,我就想著自己要寫一個完整的Web專案出來,然後開源,供所有的Web開發者探討當下網際網路企業流行的技術,可是由於種種原因未能付諸實踐,所以在新的一年,我要堅持下去,從現在開始,利用休息時間建立這個系統。這個專案的目的不是為了盲目追求技術,而是能快速、優雅地解決現實中的實際需求,希望廣大W

SSM框架下實現登入註冊

基本配置:jdk1.8   tomcat 8  MyEclipse 先打好地基:                    spring配置檔案 application.xml: <?xml version="1.0" encoding="UTF-8"?&g

從頭開始——SSM+Shiro實現登陸的安全認證

Shiro功能概述:  Shiro是一個功能強大且靈活的開源安全框架,可以清晰地處理身份驗證,授權,企業會話管理和加密。 身份驗證:有時也稱為“登入”,這是證明使用者是他們所說的人的行為。 授權:訪問控制的過程,即確定“誰”可以訪問“什麼”。 會話

shiro整合redis實現分散式session和單點登入

shiro是一款出色的許可權框架,能夠實現諸如登入校驗、許可權校驗等功能,預設情況下,shir將session儲存到記憶體中,這在應用分散式部署的情況下會出現session不一致的問題,所以我們要將session儲存到第三方,應用始終從第三方獲取session,從而保證分散式