c# 数据库 系统 用户权限 每个用户只能 *** 作自己的数据

c# 数据库 系统 用户权限 每个用户只能 *** 作自己的数据,第1张

关系数据库能这样一个用户对应一个表

但你要是这样设计会降低性能与效率

我觉得应该只设计两个表

一个表存用户相关数据 一个表存所有日记

用户表(UserTable):

UserName、Password 用户名与密码 其中UserName列应该设置成值唯一

日记表(DiaryTable):

OwnerID、Caption、Content、DateTime 分别是日记拥有者ID、日记标题、日记内容、日记更新时间

将UserName与OwnerID关联

假设:2010年5月9日16:40 用户名为:驰骋黎明 的用户登录了日记系统并写下了一篇日记,然后点击发送按钮将它保存到了日记表(DiaryTable)中

OwnerID记录:驰骋黎明

Caption记录:日记标题

Content记录:日记内容

DateTime记录:发表时间

第二天:驰骋黎明登录了日记系统,想查看自己都有哪些日记

select from DiaryTable where OwnerID="驰骋黎明"

从日记表中查找属于"驰骋黎明"的日记

工具/材料:Management Studio。

1、首先在桌面上,点击“Management Studio”图标。

2、继续在该界面中,点击左上角“新建查询”选项。

3、其次在该界面中,输入查询当前用户的所有权限的sql语句“select from myRole left join myUser  on UserNo = '1' and myUserRoleNo = myRoleRoleNo”。

4、然后在该界面中,点击左上方“执行”按钮。

5、最后在该界面中,显示查询当前用户的所有权限成功。

对于60以下的权限及在安装的时候,根据权限声明产生一个权限列表,用户只有在同意之后才能完成app的安装,造成了我们想要使用某个app,就要默默忍受其一些不必要的权限(比如是个app都要访问通讯录、短信等)。而在60以后,我们可以直接安装,当app需要我们授予不恰当的权限的时候,我们可以予以拒绝(比如:单机的象棋对战,请求访问任何权限,我都是不同意的)。当然你也可以在设置界面对每个app的权限进行查看,以及对单个权限进行授权或者解除授权。

新的权限机制更好的保护了用户的隐私,Google将权限分为两类,一类是Normal Permissions,这类权限一般不涉及用户隐私,是不需要用户进行授权的,比如手机震动、访问网络等;另一类是Dangerous Permission,一般是涉及到用户隐私的,需要用户进行授权,比如读取sdcard、访问通讯录等。

Normal Permissions如下

ACCESS_LOCATION_EXTRA_COMMANDS

ACCESS_NETWORK_STATE

ACCESS_NOTIFICATION_POLICY

ACCESS_WIFI_STATE

BLUETOOTH

BLUETOOTH_ADMIN

BROADCAST_STICKY

CHANGE_NETWORK_STATE

CHANGE_WIFI_MULTICAST_STATE

CHANGE_WIFI_STATE

DISABLE_KEYGUARD

EXPAND_STATUS_BAR

GET_PACKAGE_SIZE

INSTALL_SHORTCUT

INTERNET

KILL_BACKGROUND_PROCESSES

MODIFY_AUDIO_SETTINGS

NFC

READ_SYNC_SETTINGS

READ_SYNC_STATS

RECEIVE_BOOT_COMPLETED

REORDER_TASKS

REQUEST_INSTALL_PACKAGES

SET_ALARM

SET_TIME_ZONE

SET_WALLPAPER

SET_WALLPAPER_HINTS

TRANSMIT_IR

UNINSTALL_SHORTCUT

USE_FINGERPRINT

VIBRATE

WAKE_LOCK

WRITE_SYNC_SETTINGS

下面内容供你参考12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 1查看所有用户: select from dba_users; select from all_users; select from user_users; 2查看用户或角色系统权限(直接赋值给用户或角色的系统权限): select from dba_sys_privs; select from user_sys_privs; 3查看角色(只能查看登陆用户拥有的角色)所包含的权限sql>select from role_sys_privs; 4查看用户对象权限: select from dba_tab_privs; select from all_tab_privs; select from user_tab_privs; 5查看所有角色: select from dba_roles; 6查看用户或角色所拥有的角色: select from dba_role_privs; select from user_role_privs; 7查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)select from V$PWFILE_USERS 比如我要查看用户 wzsb的拥有的权限: SQL> select from dba_sys_privs where grantee='WZSB'; GRANTEE PRIVILEGE ADMIN_OPTION------------------------------ ---------------------------------------- ------------WZSB CREATE TRIGGER <a href="/swd=NO&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3P10LP1bsP1IbP1wWPWF90ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHTdn1T3nHRdnHRLnHmknWD3r0" target="_blank" class="baidu-highlight">NO</a>WZSB UNLIMITED TABLESPACE <a href="/swd=NO&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3P10LP1bsP1IbP1wWPWF90ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHTdn1T3nHRdnHRLnHmknWD3r0" target="_blank" class="baidu-highlight">NO</a> 比如我要查看用户 wzsb的拥有的角色: SQL> select from dba_role_privs where grantee='WZSB'; GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE------------------------------ ------------------------------ ------------ ------------WZSB DBA <a href="/swd=NO&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3P10LP1bsP1IbP1wWPWF90ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHTdn1T3nHRdnHRLnHmknWD3r0" target="_blank" class="baidu-highlight">NO</a> YES 查看一个用户所有的权限及角色select privilege from dba_sys_privs where grantee='WZSB'unionselect privilege from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee='WZSB' );

我做过类似有权限管理的系统,表分3个:

第一个表是权限表(tb_pope),都有什么权限,以你的系统要求,分3个权限:管理所有学生,管理系学生,本学生。

表列名可以是:ID,popeName,里面有3条记录。

1,管理所有学生

2,管理系学生

3,本学生

第二个表是用户表(tb_user):ID,userName,age,等等

第三个表就是用户权限表(tb_userpope):ID,userID,PopeID

登录时先检查是否有该用户名,然后读取其权限值,根据权限 *** 作数据库显示或隐藏 *** 作的部分。

大致就这样了。

一、su oracle只是切换到了oracle用户,而用户的环境变量是没有带入的,你基本上执行不了sqlplus命令。你应该用su - oracle

二、你用的sqlplus/nolog应该用成:sqlplus /nolog (中间有空格的)

以上就是关于c# 数据库 系统 用户权限 每个用户只能 *** 作自己的数据全部的内容,包括:c# 数据库 系统 用户权限 每个用户只能 *** 作自己的数据、用SQL语句查询当前用户的所有权限、安卓6.0 *** 作数据库运行时权限怎么加等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10176418.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存