关于登录名,用户名,角色,权限的学习笔记
2009-12-25 15:49
190 查看
select a.name,a.xtype,b.name,case action when 26 then 'references' when 178 then 'create function' when 193 then 'select'
when 195 then 'insert' when 196 then 'delete' when 197 then 'update' when 198 then 'create table' when 203 then 'create database'
when 207 then 'create view' when 222 then 'create procedudre' when 224 then 'execute' when 228 then 'backup database'
when 233 then 'create default' when 235 then 'backup log' when 236 then 'create rule'end
from sysobjects a inner join sysprotects c on a.id=c.id inner join sysusers b on c.uid=b.uid
where b.name='user1'--在此输入角色或用户名,查看其权限
create table tb(id int,num int)--新建测试表
insert into tb
select 1,1
--新建一个登陆,登陆名:qiankun ,密码:空,默认数据库:test
sp_addlogin 'qiankun','','test'
--为登录qiankun在数据库test中新建一个用户user1. 如果一个登陆没有对应的用户,则无法登陆
use test
go
sp_adduser 'qiankun','user1'
--查看登录
sp_helplogins 'qiankun'
--查看该数据库里的用户,此时用户user1默认属于public组,拥有public的权限,此时user1对表tb没有任何权限
sp_helpuser
--新建一个角色role1
sp_addrole 'role1'
--给角色赋予select 表tb的权限
grant select on tb to role1
--把用户user1添加进role1中,此时user1可以select 表tb
sp_addrolemember 'role1','user1'
--直接给用户user1赋予修改num字段的权限
grant update on tb(num) to user1
--给角色role1赋予新建表的权限,用户对自己新建的对象拥有全部权限
grant create table to role1
--给角色授予表tb的所有权限
grant all on tb to role1
--给角色role1授予所有语句权限,不能创建数据库,不能执行master..xp_cmdshell,待续!!!!!!!!!!!!!1
grant all to role1
------------------------------------------------------------------------------------------------------------
--此时登录qiankun只能使用数据库test,不能使用其他的数据库。
--通过在目的数据库上新建一个用户映射,登录qiankun可以访问多个数据库
--方法1
use wsd
go
sp_grantdbaccess 'qiankun','user2'
--收回访问数据库权限
use wsd
go
sp_revokedbaccess 'user2'
--方法2
use wsd
go
sp_adduser 'qiankun','user2'
--收回访问数据库权限
use wsd
go
sp_dropuser 'user2'
--用方法1添加的用户可以用方法2来删除,方法2添加的用户可以用方法1删除,两者的区别?!!!!!
--
--对于一个登陆名,如果想访问某一个数据库,必须在这个数据库上为该登录名添加一个用户,并且只能添加一个。
--不同数据库中的用户名字可以相同,但是它们是不同的用户,权限不一样。
when 195 then 'insert' when 196 then 'delete' when 197 then 'update' when 198 then 'create table' when 203 then 'create database'
when 207 then 'create view' when 222 then 'create procedudre' when 224 then 'execute' when 228 then 'backup database'
when 233 then 'create default' when 235 then 'backup log' when 236 then 'create rule'end
from sysobjects a inner join sysprotects c on a.id=c.id inner join sysusers b on c.uid=b.uid
where b.name='user1'--在此输入角色或用户名,查看其权限
create table tb(id int,num int)--新建测试表
insert into tb
select 1,1
--新建一个登陆,登陆名:qiankun ,密码:空,默认数据库:test
sp_addlogin 'qiankun','','test'
--为登录qiankun在数据库test中新建一个用户user1. 如果一个登陆没有对应的用户,则无法登陆
use test
go
sp_adduser 'qiankun','user1'
--查看登录
sp_helplogins 'qiankun'
--查看该数据库里的用户,此时用户user1默认属于public组,拥有public的权限,此时user1对表tb没有任何权限
sp_helpuser
--新建一个角色role1
sp_addrole 'role1'
--给角色赋予select 表tb的权限
grant select on tb to role1
--把用户user1添加进role1中,此时user1可以select 表tb
sp_addrolemember 'role1','user1'
--直接给用户user1赋予修改num字段的权限
grant update on tb(num) to user1
--给角色role1赋予新建表的权限,用户对自己新建的对象拥有全部权限
grant create table to role1
--给角色授予表tb的所有权限
grant all on tb to role1
--给角色role1授予所有语句权限,不能创建数据库,不能执行master..xp_cmdshell,待续!!!!!!!!!!!!!1
grant all to role1
------------------------------------------------------------------------------------------------------------
--此时登录qiankun只能使用数据库test,不能使用其他的数据库。
--通过在目的数据库上新建一个用户映射,登录qiankun可以访问多个数据库
--方法1
use wsd
go
sp_grantdbaccess 'qiankun','user2'
--收回访问数据库权限
use wsd
go
sp_revokedbaccess 'user2'
--方法2
use wsd
go
sp_adduser 'qiankun','user2'
--收回访问数据库权限
use wsd
go
sp_dropuser 'user2'
--用方法1添加的用户可以用方法2来删除,方法2添加的用户可以用方法1删除,两者的区别?!!!!!
--
--对于一个登陆名,如果想访问某一个数据库,必须在这个数据库上为该登录名添加一个用户,并且只能添加一个。
--不同数据库中的用户名字可以相同,但是它们是不同的用户,权限不一样。
相关文章推荐
- 学习笔记_过滤器应用(粗粒度权限控制(拦截是否登录、拦截用户名admin权限))
- Tomcat学习笔记 - 错误日志 - NetBeans配置tomcat出错情况总结 -- 尚未授予访问 Tomcat 服务器的权限。请在服务器管理器的 Tomcat 定制器中设置 "manager-script" 角色的正确用户名和口令。 有关详细信息, 请查看服务器日志。
- 关于的PostgreSQL的登录角色,组角色,用户等概念及权限分配上的区别
- 【树莓派学习笔记】关于树莓派在VNC远程登录时,弹出一个GDBus错误窗口的问题!!!
- iOS学习笔记37-iOS9适配 之 关于info.plist 第三方登录 添加URL Schemes白名单
- 关于android6.0及以上版本运行时权限的学习笔记
- UNIX环境编程学习笔记(8)——文件I/O之校验当前登录用户对文件的访问权限
- UNIX环境编程学习笔记(8)——文件I/O之校验当前登录用户对文件的访问权限
- 【WPF学习笔记】之如何点登录按钮时判断用户名密码进行登录:动画系列之(二)
- sql_server用户名和登录名学习笔记
- restlet2.1 学习笔记(十一)为用户分配角色,并使用角色控制权限。
- Java学习笔记 Struts2拦截器实现权限登录
- Shiro 学习笔记(4)—— 基于字符串的角色和权限
- Java学习笔记-关于默认类型或访问权限的总结
- struts2学习笔记--拦截器(Interceptor)和登录权限验证Demo
- [Silverlight学习笔记]关于用户注册之后不能直接登录的问题
- C#学习笔记-----C#枚举中的位运算权限分配
- C/C++中关于地址、指针和引用变量的学习笔记(五) : 指针
- 【学习笔记】汇编:关于DEBUG工具使用的时候的一个注意事项
- 关于硬盘和windows、Linux硬盘分区的学习笔记