互动
最近评论

oracle 查询约束

SELECT * FROM user_constraints WHERE CONSTRAINT_NAME = 'SYS_C0029063'

1. 统一授权中心系统

1.1 用户管理

  • 用户注册与登录:提供接口供用户注册和登录,支持多种身份验证方式(如用户名密码、第三方登录等)。

  • 用户信息管理:提供接口管理用户信息,如修改密码、更新个人信息等。

1.2 OAuth2 服务

  • 授权服务器:实现OAuth2协议,提供授权码模式(Authorization Code Flow)、简化模式(Implicit Flow)等,根据客户端类型选择合适的授权流程。

  • 令牌颁发:颁发Access Token和Refresh Token,并支持Token的撤销和刷新。

  • 客户端管理:管理客户端(如系统A和系统B)的注册信息,包括client_id、client_secret、回调URL等。

1.3 RBAC 权限管理

  • 角色管理:定义角色,并为角色分配权限。

  • 权限管理:定义权限,并将权限与资源(如API接口)关联。

  • 用户角色分配:为用户分配角色。

2. 系统A(微信小程序)

2.1 登录与授权

  • 微信登录:使用微信小程序的登录机制获取微信用户的openid等信息。

  • OAuth2 授权:将微信登录与OAuth2结合,用户通过微信登录后,授权中心系统颁发Access Token。

  • 权限控制:在小程序端,根据Access Token中的角色和权限信息,控制用户对不同功能的访问。

2.2 API 访问

  • Token 传递:在调用后端API时,将Access Token放在请求头中进行身份验证和权限检查。

3. 系统B(独立的Web程序)

3.1 登录与授权

  • OAuth2 登录:用户通过OAuth2授权流程登录,选择授权系统B访问其信息。

  • 权限控制:在Web程序中,根据Access Token中的角色和权限信息,控制用户对不同页面或功能的访问。

3.2 API 访问

  • Token 传递:在调用后端API时,将Access Token放在请求头中进行身份验证和权限检查。

4. 权限分离与控制

4.1 角色与权限定义

  • 角色定义:定义不同的角色,如“普通用户”、“管理员”等。

  • 权限定义:定义不同的权限,如“查看用户信息”、“修改用户信息”等。

  • 角色权限分配:将权限分配给角色。

4.2 用户角色分配

  • 用户角色分配:为用户分配一个或多个角色。

  • 权限继承:用户通过其角色继承相应的权限。

4.3 权限检查

  • API权限检查:在授权中心系统中,对每个API接口进行权限检查,确保只有具有相应权限的用户才能访问。

  • 前端权限控制:在系统A和系统B中,根据用户的权限信息,控制前端页面的显示和功能的可用性。

5. 安全考虑

  • Token 安全:确保Access Token和Refresh Token的安全性,防止Token泄露和滥用。

  • Session管理:如果使用Session机制,确保Session的安全性,如设置合适的过期时间、HttpOnly标志等。

  • 跨域安全:如果系统A和系统B与授权中心系统跨域,确保CORS配置的安全性。

6. 技术选型

  • 授权中心系统:可以使用Spring Security OAuth2或Keycloak等开源框架来实现OAuth2和RBAC功能。

  • 数据库:使用关系型数据库(如MySQL)来存储用户、角色、权限等信息。

  • API网关:可以使用API网关(如Spring Cloud Gateway)来统一管理API的路由和权限检查。

7. 实施步骤

  1. 设计数据库模型:设计用户、角色、权限、客户端等表结构。

  2. 实现OAuth2服务:集成OAuth2框架,实现授权服务器和令牌颁发功能。

  3. 实现RBAC权限管理:实现角色、权限的管理功能,并将权限与API资源关联。

  4. 集成系统A和系统B:在系统A和系统B中集成OAuth2登录流程,并进行权限检查。

  5. 测试与优化:进行全面的测试,确保安全性和功能性,并根据测试结果进行优化。

oracle 导出DUMP

create directory DUMP as '/oracle/soft';
select * from dba_directories where directory_name = 'DUMP';

export ORACLE_HOME=/oracle/app/oracle/product/19.3.0/dbhome_1
cd $ORACLE_HOME/bin
./expdp his/rqfd*317@127.0.0.1/his schemas=his directory=DUMP include="(PROCEDURE,TABLE,FUNCTION)" schemas="(DATAYL,HEALTH,HIS,LIS,PACS)" dumpfile=source_data.dmp logfile=source_exp.log

./impdp his/rqfd*317@127.0.0.1/his schemas=his directory=DUMP TABLE_EXISTS_ACTION=REPLACE dumpfile=source_data.dmp logfile=target_imp.log

oracle在函数、视图中搜索

select * from dba_source 
where text like 'jiuruikang%' 
and type='PROCEDURE'

wireguard的局限性

首先是必须得有公网ip

然后它的理念是设备之间组网而非域之间的组网,即两个不同网络见的两台设备进行通信。

而要实现手机(流量)访问某个局域网就得有中专服务器来配置流量转发,但如果有两个同网段的想互通就得通过添加配置(一个配置一个虚拟网卡)来实现,但是目前就只有docker的那个面板,还不支持多配置

Docker 不同网络的容器之间互相访问

按照Docker官方文档Docker and iptables说明,使用iptables进行网络隔离,使得默认情况下不同子网的容器之间是无法互相访问的。如果需要不同子网的容器之间互相访问时怎么办呢?文档给出了两种方法

1、禁用iptables

最直接的方法是在/etc/docker/daemon.json把iptables设置为false来直接禁用。这样所有的网络都没有隔离,但是这样做可能会破坏容器的网络。

2、使用DOCKER-USER链

可以通过iptables在DOCKER-USER链上添加规则以达到使用的目的。

iptables -I DOCKER-USER -i br-3bed419583c5 -o br-787e52a81bb4 -j ACCEPT

iptables -I DOCKER-USER -i br-787e52a81bb4 -o br-3bed419583c5 -j ACCEPT

oracle全库查询

declare
  v_Sql   varchar2(2000);
  v_count number;
begin
  for xx in (select t.OWNER, t.TABLE_NAME, t.COLUMN_NAME from dba_tab_columns t where t.OWNER = '要查询的SCHEMA') loop
    begin
      v_Sql := 'select count(1) from ' || xx.owner || '.' || xx.table_name ||' where ' || LOWER(xx.column_name) || ' like ''%检索关键字%'' ';
      execute immediate v_Sql
        into v_count;
      if (v_count >= 1) then
        dbms_output.put_line(xx.table_name || ':' || xx.column_name || ':' || v_Sql);
      end if;
    exception
      when others then
        null;
    end;
  end loop;
end;

oracle 死锁

select t1.sid, t1.SERIAL#, t3.sql_text from v$session t1, v$locked_object t2, v$sql t3 where t1.sid = t2.SESSION_ID AND t3.hash_value = t1.sql_hash_value;
咸鱼也有梦想
更多信息请关注 Gitlab
创建能从浏览器启动的安装程序
Groovy与Spring
Debian 扩容分区
在 Debian 12 上安装Postgresql
Docker 配置
在 Debian 11 上安装 OpenSSL 3.X
FFMPEG操作
Typora激活
Java 工具类
编译安装php8
编译安装Nginx
GitLab企业版搭建(附生成证书)
Linux操作
淘宝 京东秒杀脚本
HTTP状态码
使用Youtube官方API订阅功能的实现
MySQL8与Java类型对照表
Steam第三方登陆
你好啊!
avatar
avatar
一只
不爱在博客
写注释
的小
码农
最新评论
最近发布
Groovy与Spring
Groovy与Spring
Debian 扩容分区
Debian 扩容分区
引用到评论