MISP7: 细化迭代5:实现权限

一、任务:实现权限

任务A:实现POS系统权限功能。

基本需求及逻辑如下:

(1) 各小组根据技术能力自行定义系统访问控制需求、方案及实现。


任务B:按“课程设计文档模板”要求编写文档:

(1) 撰写文档4.4 权限设计 (架构师完成)

(2) 撰写文档4.1 用例实现设计(分析员、架构师、程序员、测试员)


二、要求:

(1)根据方案合理性和技术难度进行评价。使用访问控制框架(建议shiro)实现RBAC方案计满分。


三、制品交付:

(1) 程序提交的项目git。

(2) 文档发表在项目经理blog。

(3) 为方便指导老师评价程序,程序运行界面截图和测试报告发表在项目经理blog(另写一篇,测试员完成)。


交付时间:细化迭代5时间为2周(第11、12周),截止日期5月29日(第12周星期五) 24:00。

制品反馈见blog评论和git的issue。


附:为方便交流和分享,提供该阶段数据库表参考。各组可根据结合自己题目分析字段需求,修改和扩展表的字段。

RBAC方案参考表

-- ----------------------------
-- Table structure for `resource`
-- ----------------------------
DROP TABLE IF EXISTS `resource`;
CREATE TABLE `resource` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `RESOURCENO` varchar(36) NOT NULL,
  `RESOURCENAME` varchar(36) NOT NULL,
  `DESCRIPTION` varchar(100) DEFAULT NULL,
  `SEQ` int(11) DEFAULT NULL,
  `URL` varchar(100) DEFAULT NULL,
  `RESOURCE_ID` int(11) DEFAULT NULL,
  `RESOURCETYPE_ID` int(11) NOT NULL,
  PRIMARY KEY (`ID`),
  KEY `RESOURCE_ID` (`RESOURCE_ID`),
  KEY `RESOURCETYPE_ID` (`RESOURCETYPE_ID`),
  CONSTRAINT `resource_ibfk_1` FOREIGN KEY (`RESOURCE_ID`) REFERENCES `resource` (`ID`),
  CONSTRAINT `resource_ibfk_2` FOREIGN KEY (`RESOURCETYPE_ID`) REFERENCES `resourcetype` (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


-- ----------------------------
-- Table structure for `resourcetype`
-- ----------------------------
DROP TABLE IF EXISTS `resourcetype`;
CREATE TABLE `resourcetype` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `ROSOURCETYPENAME` varchar(36) NOT NULL,
  `DESCRIPTION` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of resourcetype
-- ----------------------------

-- ----------------------------
-- Table structure for `role`
-- ----------------------------
DROP TABLE IF EXISTS `role`;
CREATE TABLE `role` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `ROLENAME` varchar(36) NOT NULL,
  `DESCRIPTION` varchar(100) DEFAULT NULL,
  `SEQ` int(11) NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


-- ----------------------------
-- Table structure for `role_resource`
-- ----------------------------
DROP TABLE IF EXISTS `role_resource`;
CREATE TABLE `role_resource` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `ROLE_ID` int(11) NOT NULL,
  `RESOURCE_ID` int(11) NOT NULL,
  PRIMARY KEY (`ID`),
  KEY `ROLE_ID` (`ROLE_ID`),
  KEY `RESOURCE_ID` (`RESOURCE_ID`),
  CONSTRAINT `role_resource_ibfk_2` FOREIGN KEY (`RESOURCE_ID`) REFERENCES `resource` (`ID`),
  CONSTRAINT `role_resource_ibfk_1` FOREIGN KEY (`ROLE_ID`) REFERENCES `role` (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Table structure for `user`
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `USERNO` varchar(36) NOT NULL,
  `PASSWORD` varchar(36) NOT NULL,
  `USERNAME` varchar(36) DEFAULT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


-- ----------------------------
-- Table structure for `user_role`
-- ----------------------------
DROP TABLE IF EXISTS `user_role`;
CREATE TABLE `user_role` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `USER_ID` int(11) NOT NULL,
  `ROLE_ID` int(11) NOT NULL,
  PRIMARY KEY (`ID`),
  KEY `USER_ID` (`USER_ID`),
  KEY `ROLE_ID` (`ROLE_ID`),
  CONSTRAINT `user_role_ibfk_2` FOREIGN KEY (`ROLE_ID`) REFERENCES `role` (`ID`),
  CONSTRAINT `user_role_ibfk_1` FOREIGN KEY (`USER_ID`) REFERENCES `user` (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


你可能感兴趣的:(MISP7: 细化迭代5:实现权限)