OA 第四天笔记

2023-10-27

权限:
控制功能的使用


Web应用中的权限:
每个功能都有相应URL地址。
对功能的控制就是对URL地址的访问控制。


权限方案:
用户 *----* 角色(role ) *----* 权限


与权限相关的功能具体有哪些:
初始化数据:...
分配权限:...
使用权限:...


====================================================


insert into ...




1,权限的整体方案。
2,权限的实体设计与映射。

3,安装功能。如:

@Component
public class Installer {

	@Resource
	private SessionFactory sessionFactory;

	/**
	 * 执行安装
	 */
	@Transactional
	public void install() {
		Session session = sessionFactory.getCurrentSession();

		// ==============================================================
		// 保存超级管理员用户
		User user = new User();
		user.setLoginName("admin");
		user.setName("超级管理员");
		user.setPassword(DigestUtils.md5Hex("admin"));
		session.save(user); // 保存

		// ==============================================================
		// 保存权限数据
		Privilege menu, menu1, menu2, menu3, menu4, menu5;

		// --------------------
		menu = new Privilege("系统管理", null, null);
		menu1 = new Privilege("岗位管理", "/role_list", menu);
		menu2 = new Privilege("部门管理", "/department_list", menu);
		menu3 = new Privilege("用户管理", "/user_list", menu);
		session.save(menu);
		session.save(menu1);
		session.save(menu2);
		session.save(menu3);

		session.save(new Privilege("岗位列表", "/role_list", menu1));
		session.save(new Privilege("岗位删除", "/role_delete", menu1));
		session.save(new Privilege("岗位添加", "/role_add", menu1));
		session.save(new Privilege("岗位修改", "/role_edit", menu1));

		session.save(new Privilege("部门列表", "/department_list", menu2));
		session.save(new Privilege("部门删除", "/department_delete", menu2));
		session.save(new Privilege("部门添加", "/department_add", menu2));
		session.save(new Privilege("部门修改", "/department_edit", menu2));

		session.save(new Privilege("用户列表", "/user_list", menu3));
		session.save(new Privilege("用户删除", "/user_delete", menu3));
		session.save(new Privilege("用户添加", "/user_add", menu3));
		session.save(new Privilege("用户修改", "/user_edit", menu3));
		session.save(new Privilege("初始化密码", "/user_initPassword", menu3));

		// --------------------
		menu = new Privilege("网上交流", null, null);
		menu1 = new Privilege("论坛管理", "/forumManage_list", menu);
		menu2 = new Privilege("论坛", "/forum_list", menu);
		session.save(menu);
		session.save(menu1);
		session.save(menu2);

		// --------------------
		menu = new Privilege("审批流转", null, null);
		menu1 = new Privilege("审批流程管理", "/processDefinition_list", menu);
		menu2 = new Privilege("申请模板管理", "/template_list", menu);
		menu3 = new Privilege("起草申请", "/flow_templateList", menu);
		menu4 = new Privilege("待我审批", "/flow_myTaskList", menu);
		menu5 = new Privilege("我的申请查询", "/flow_myApplicationList", menu);
		session.save(menu);
		session.save(menu1);
		session.save(menu2);
		session.save(menu3);
		session.save(menu4);
		session.save(menu5);
	}

	public static void main(String[] args) {
		ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
		Installer installer = (Installer) ac.getBean("installer");
		installer.install();
	}
}



4,分配权限(只实现了功能,还没做页面效果)




====================================================


Action中
addFieldError("name", "有错了!");


JSP中:
<s:fielderror fieldName="name"/>
<s:fielderror/> 显示全部错误消息


=============================================


int a = 1;
int b = 2;

int result = a + b;



功能一样的用转发。。。不一样时用重定向

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OA 第四天笔记 的相关文章

  • 在 Python 中使用 Paramiko 模块切换到 root 用户时出现“必须从终端运行”

    我正在尝试通过 Python 脚本自动执行任务 这个想法是以普通用户身份登录 然后发送su命令并切换到 root 帐户 我无法直接以 root 身份登录的原因是SSHD不允许 root 登录 这是我所拥有的 ip 192 168 105 8
  • 开始作业时无法识别功能

    我在模块 sysinfo psm1 中创建了一个函数 Get Uptime 并导入了该模块 C pstools gt get command Module sysinfo CommandType Name Definition Functi
  • 调试神秘的git+ssh+proxy失败“bash:没有这样的文件或目录”的艰难方法

    我正在尝试通过 SOCKS5 代理克隆 github 存储库 在 ssh config I have Host github com github com ProxyCommand usr bin nc X 5 x 127 0 0 1 70
  • 通过私钥使用 Python 进行 SSH

    在我的脚本中 我需要使用私钥通过 SSH 连接到远程系统 并将文件转储到其目录中 我用来 SSH 进入系统的命令是这样的 ssh i private key localhost 接下来是标准输入 输入密钥 private key 的密码 我
  • 如何为函数启用 bash 自动完成功能?

    我已经阅读了关于 bash 自动完成的教程bash补全简介 http www debian administration org article 316 An introduction to bash completion part 1我正
  • 使用Python mysql.connector远程连接MySQL

    以下代码 在同一 LAN 内与 mysql 服务器不同的机器上运行 使用 Python3 和 mysql connector 本地连接到 MySQL 数据库 import mysql connector cnx mysql connecto
  • SQLPLUS 保存到文件

    我必须为我的数据库类使用 SQLPLUS 我们的第一个作业是简单的保存 我按照说明进行操作 我正在使用 PuTTY 访问 sqlplus 在本练习中使用以下 SQL 命令 并尝试使用 SAVE 和 SPOOL 命令将 SQL 命令和输出保存
  • Visual Studio Code - 一个工作区中的多个远程 SSH 连接?

    我最近开始喜欢上 Visual Studio Code 和远程 SSH 扩展 它确实彻底改变了我的工作流程 然而 我发现自己保持多个窗口打开 并通过与不同服务器的不同连接 我刚刚发现您可以将不同的文件夹添加到同一工作区 但是当连接到远程服务
  • 无法验证主机真实性

    我第一次做git pull 在git中提示无法确定主机的真实性 与我生成的私钥相比 RSA密钥指纹不正确 我只是想知道如何更新它以便它读取正确的文件以及为什么它首先读取错误的指纹 我遇到了类似的问题 这意味着远程主机未知 不受信任 修复方法
  • 安全地记住 bash 脚本中的 ssh 凭据[重复]

    这个问题在这里已经有答案了 假设我有一个 bash 脚本 它通过 ssh 在远程计算机上执行命令 Do something here ssh otheruser host command1 Do something else ssh oth
  • 如何配置 Ansible 跳过两个堡垒主机?

    我想编写一个 Ansible 剧本 使用 Ansible 2 7 5 它将在到达目标服务器之前跳过两个主机来执行诸如安装 docker 和 python 等操作 我能够让 Ansible 通过一台主机跳转到server1通过将其添加到我的h
  • 如何访问 Google Cloud Platform Compute Engine VM 实例的 SSH 密钥?

    我通过 Google Cloud Web 控制台从 CentOS 6 x 映像创建了一个新实例 我在创建表单上看到一个空白 我可以在其中粘贴现有的 SSH 密钥 因为这是我的第一个实例 所以我还没有 我以为它会像 Amazon EC2 一样
  • gitlab runner ssh私钥644文件权限错误

    运行 gitlab ci cd 管道时 ssh 给出 0644 badpermission 错误 变量作为文件类型存储在 gitlab 的 settings gt variable 部分中 gitlab ci yml 文件如下所示 stag
  • 通过 SFTP 克隆 Git 存储库

    每次我尝试克隆 Git 存储库时都会遇到致命错误 我运行这个 git clone sftp email protected cdn cgi l email protection git foobar git 我得到这个 fatal Unab
  • 通过 SSH 将变量传递给远程脚本

    我正在通过 SSH 从本地服务器在远程服务器上运行脚本 首先使用 SCP 复制该脚本 然后在传递一些参数时调用该脚本 如下所示 scp path to script server example org another path ssh s
  • PHP shell_exec 使用 ssh 运行 shell 脚本

    我有一个 shell 脚本 使用 ssh 和密钥连接到另一台机器 因此它不需要用户名和密码 当我从命令行运行这个脚本时 它工作正常 但是当我从 php shell exec 运行这个脚本时 它不起作用 如果我与 PHP 建立 ssh 连接并
  • 通过 SSH 的 Pygame 不注册击键(Raspberry Pi 3)

    所以我得到了 raspi 3 和简单的 8x8 LED 矩阵 在玩了一些之后 我决定用 pygame 的事件制作一个简单的蛇游戏 显示在该矩阵上 我之前没有 pygame 的经验 除了 LED 矩阵之外 没有连接任何屏幕 显示器 所以最初的
  • 如何将命令作为参数传递给 ssh [重复]

    这个问题在这里已经有答案了 我的需要是让这个命令起作用 sshpass p XXXX ssh oStrictHostKeyChecking no email protected cdn cgi l email protection sudo
  • 如何记录 ssh 调试信息?

    我需要将 ssh 调试信息的输出写入文件中 这 ssh v email protected cdn cgi l email protection gt result txt ssh v email protected cdn cgi l e
  • 伪分布式模式下的 Hadoop。连接被拒绝

    P S 请不要将此标记为重复 Hi 我一直在尝试以伪分布式模式设置和运行 Hadoop 当我运行 start all sh 脚本时 我得到以下输出 starting namenode logging to home raveesh Hado

随机推荐

  • 超实用CSS技巧总结(1)——背景和边框

    文章内容来自CSS神书 CSS揭秘 献上膝盖就好 1 半透明边框 错误的写法 div background color white border 10px solid hsla 0 0 100 5 错误的原因很简单 因为默认情况下 背景是会
  • Base64编解码C源码

    文章目录 一 Base64是什么 二 示例源码 C语言接口 三 可打印字符表 一 Base64是什么 Base64是一种字节码编码方式 主要是基于64个可打印字符来表示二进制数据的方法 详细介绍请参考百度百科 百度百科介绍 二 示例源码 C
  • STMCubeMX+Proteus仿真DHT11(LCD1602显示)

    本文说明 开发工具 STM32CubeMX Keil5 开发芯片 STM32F103R6 采温模块 DHT11 数显屏幕 LCD1602 仿真软件 Proteus 8 12 项目目标 DHT11读取温湿度值 将信息显示在LCD1602上 T
  • 【Rust】002-基础语法:函数

    Rust 002 基础语法 函数 文章目录 Rust 002 基础语法 函数 一 概述 二 函数 1 基本函数 2 参数 3 即时补充 函数参数是 String 和 str 的区别 String str 对比 4 返回值 语句和表达式 语句
  • uniapp unipush 个推调试 通知消息 透传消息 的调试 踩坑指南

    前段时间分享了 unipush添加安卓手机的google厂商通道实现没有打开app也能收到推送消息也就是离线消息 今天分享一下调试的过程这是上次的文章地址https blog csdn net zhanghuanhuan1 article
  • 大鹏背景,大鹏为什么能邀请那么多明星?揭秘董成鹏的成名路

    大鹏到底是什么背景 为什么他自导自演的 屌丝男士 能请到那么多明星 为什么他参加 跑男 会和邓超等一众明星那么熟 为什么他自导自演的喜剧片 煎饼侠 能邀请袁珊珊 柳岩 郭采洁 尚格云顿 吴君如 邓超 小沈阳 宋小宝 岳云鹏等那么多明星 要了
  • 关于JAVA中的Class.cast方法

    今日看到了一片文章就是说的Class cast 方法 我感觉这篇文章有问题 所以写了一片文章来说明一下cast方法 我们来看一下JDK中这个方法的源码 SuppressWarnings unchecked public T cast Obj
  • Vue中一键批量注册全局组件

    文件目录如下 1 component文件夹中编写所有的公共组件 注意 之后一键注册的全局组件名就是每个公共组件 xxx vue 文件的文件名 xxx 2 plugins components js中批量注册组件 import Vue fro
  • vue3项目实战---知乎日报----个人中心

    目录 登录态校验 header组件 个人中心 修改个人信息 FormData FormData操作方法 登录态校验 通过 beforeEach 路由导航守卫实现 to 从哪来 from 去哪 next执行 通过to path 判断要去的页面
  • linux重启

    这本阿里P8撰写的算法笔记 再次推荐给大家 身边不少朋友学完这本书最后加入大厂 Github 疯传 史上最强悍 阿里大佬 LeetCode刷题手册 开放下载了 重启命令 1 reboot 2 shutdown r now 立刻重启 root
  • 数据字典标准与统一的重要性(码表&枚举值)

    在日常的软件开发当中 开发者经常会听到 公共代码 编码 码表 枚举值 这样的名词 对这些概念可能会有些混淆和认知不透彻 那么这篇文章会详细论述一下关于数据字典的相关概念 应用 标准与统一的重要性及其数据来源 关于 公共代码 编码 码表 枚举
  • VMware WorkStation安装CentOS7

    VMware WorkStation安装CentOS7 1 安装 设置bios 检查物理机虚拟化支持是否开启 需要进入到BIOS中设置 因各种电脑型号进入BIOS 方式不同 同学们自行查找对应品牌电脑如何进入BIOS 建议 先安装 如果安装
  • C语言 输出3X3的转置矩阵

    方法一 普通函数调用 include
  • GUN和GPL的大概意思

    广而告之 支持一下阿里云 阿里云ECS服务器 有幸运券了 欢迎大家来领取 https promotion aliyun com ntms act ambassador sharetouser html userCode 5uqvqirt p
  • VS code安装和使用技巧

    VS Code 是微软提供的一款轻量级但功能十分强大的编辑器 内置了对JavaScript TypeScript和Node js语言的支持 并且为其他语言如C C Python PHP等提供了丰富的扩展库和运行时 一 VS Code的安装
  • java nio 基础

    Java NIO 由以下三部分组成 Channels 通道部分 Buffers 数据载体部分 Selects 选择器部分 重点应用于网络开发 基于事件驱动类型 Channel 与Buffers 基本上 所有的NIO 都从Channel 开始
  • POP3 邮件接收 出现乱码了,希望哪位能帮忙看下啥问题!帮我改下,谢谢

    using System using System Collections Generic using System ComponentModel using System Data using System Drawing using S
  • tensorflow运行在gpu还是cpu

    tensorflow在电脑的gpu和cpu上均可运行 cpu 0 机器的 CPU device GPU 0 机器的 GPU 如果有一个 device GPU 1 机器的第二个 GPU 以此类推 当想要知道指令和张量在哪个设备上运行时 可以这
  • QT CREATOR 插件开发:添加新的工程类型

    Qt Creator 中 新的工程类型将出现在 文件 gt 新建 菜单项中 我们可以通过打开的选择工程类型的对话框来找到所需要的工程 在本章中 我们将学习如何向上面所示的对话框中添加新的工程类型 Core IWizard接口 Qt Crea
  • OA 第四天笔记

    权限 控制功能的使用 Web应用中的权限 每个功能都有相应URL地址 对功能的控制就是对URL地址的访问控制 权限方案 用户 角色 role 权限 与权限相关的功能具体有哪些 初始化数据 分配权限 使用权限 insert into 1 权限