项目中有一个需求,要求给其它单位提供数据,我们用到了视图,并要求不能让他们看到数据库中的其它数据,我们为其创建了单独的账号,并只能看到指定视图

一、创建视图

CREATE VIEW [dbo].[v_Insurance_abroadPerson] AS SELECT     TOP (100) PERCENT e.ReceivedletterNumber AS groupId, e.Principle AS ContactName, e.Email

FROM dbo.Ea AS e INNER JOIN  dbo.chgrymd AS p ON p.xmbh = e.ReceivedletterNumber

INNER JOIN   dbo.unitinfo AS u ON u.dm = e.unit_code

INNER JOIN  dbo.ryk AS r ON r.xmbm = p.xmbm INNER JOIN  dbo.Purpose AS pp ON e.mission_type = pp.Id

ORDER BY p.groupid

二、创建用户,并为用户指定访问该视图的权限

1、创建角色 seeviewForInsurance

exec sp_addrole 'seeviewForInsurance'

2、结角色赋查看视图的权限,视图名为:v_Insurance_abroadPerson   角色名为创建的角色 seeviewForInsurance
grant select on v_Insurance_abroadPerson to seeviewForInsurance

3、创建用户,并为用户指定默认的数据库,用户名:abroadInsurance   密码:12345abc123!  默认的数据库:cnpc
exec sp_addlogin 'abroadInsurance','12345abc123!','cnpc'

4、将用户和角色进行绑定   ‘用户’,‘密码’,‘角色’
exec sp_adduser 'abroadInsurance','12345abc123!','seeviewForInsurance'

注:这个密码如果长度和强度不够的话是执行不了的。

sqlserver 限制用户只能访问指定的视图的更多相关文章

  1. 用ChrootDirectory限制SFTP登录的用户只能访问指定目录且不能进行ssh登录

    创建不能ssh登录的用户sftpuser1,密码用于sftp登录: sudo adduser sftpuser1 --home /sftp/sftpuser1 --shell /bin/false s ...

  2. Sql Server:创建用户并指定该用户只能看指定的视图,除此之外的都不让查看

    1,在sql server中选择好要操作的数据库 2,--当前数据库创建角色 exec sp_addrole 'seeview'      --创建了一个数据库角色,名称为:[seeview] 3,- ...

  3. mysql限制用户只能访问指定数据库

    1.使用root账户登录mysql mysql -uroot -ppassword 2.进入mysql数据库 mysql > use mysql 3.限制用户权限 GRANT SELECT, I ...

  4. oracle 创建一个用户,只能访问指定的对象

    1>创建一个ORACLE 的用户 create user username identified by pws; 2>给用户授权  grant connect,resource to us ...

  5. linux下创建用户组与用户 只能访问指定目录的方法 以及FTP用户配置详解

    VSFTPD 安装: -- 查看是否已经安装 VSftpd: rpm -qa | grep vsftp yum install -y vsftpd groupadd ftpuser #创建ftpuse ...

  6. oracle 创建一个用户,并且设定只能访问指定的对象

    出处:http://www.cnblogs.com/BetterWF/archive/2012/07/03/2574416.html 今天在开发接口时候,需要给接口开发公司提供一个ORACLE 用户, ...

  7. sqlserver给指定用户授权访问指定表

    一.   背景 外部公司的人授权访问我们公司的数据库,数据接口调用,要给他们建立查看指定的视图和授权的账号,因此要在数据库中,给指定用户授权访问指定表 二.sqlserver 脚本 ---创建视图CR ...

  8. Linux 创建用户 限制SFTP用户只能访问某个目录

    Linux 限制SFTP用户只能访问某个目录 1. 新建用户并设置密码 > useradd suser > passwd suser   // 输入密码 2. 设置sshd配置文件 > ...

  9. vsftp限制FTP用户只能访问自己的目录

    修改配置文件/etc/vsftpd/vsftpd.conf chroot_local_user=YESallow_writeable_chroot=YESchroot_list_enable=YESc ...

随机推荐

  1. 团队内的沟通方式:网络 OR 当面

    4月1日,我和老王稍微聊了聊关于互联网的工作方式,团队的成员不在一个地方,通过远程互联网的方式进行沟通是不是OK.现在确实有很多公司是有多地的分公司,子公司,不同的团队在不同的办公室中,甚至一个大团队 ...

  2. NSData 数据

    前言 NSData 和它的可变长子类 NSMutableData 是字节缓冲区的对象化封装.我们可以获得简单缓冲区,并进行一些转换操作. 通常我们并不会直接创建字节数据,而是从其他类型的内容转换成字节 ...

  3. npm更换为镜像

    背景:npm在安装的过程中需用从国外的网站获取代码,速度非常慢,因此更换为淘宝镜像,提升速度. 1.永久起作用: npm config set registry https://registry.ta ...

  4. SpringMVC 入门程序

    SpringMVC是什么 SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 Spring FrameWork 的后续产品,已经融合在 Spr ...

  5. Codeforces Round #545 (Div. 2)D(KMP,最长公共前后缀,贪心)

    #include<bits/stdc++.h>using namespace std;const int N=1000007;char s1[N],s2[N];int len1,len2; ...

  6. 630. Course Schedule III

    There are n different online courses numbered from 1 to n. Each course has some duration(course leng ...

  7. [SinGuLaRiTy] 2017 百度之星程序设计大赛 初赛B

    [SinGuLaRiTy-1037] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. Chess Time Limit: 2000/1000 ...

  8. get与post中文乱码问题

    Jsp默认的字符编码格式是iso-8859-1 因为post方法与get方法传递参数的方式不一样,所以有不同的解决方法. 一.post乱码解决方法: 1.设置请求和响应的编码方式 //设置请求的编码格 ...

  9. XAF ORMDataModel构建的基础资料对象无法被调用显示的解决办法

    修正,其实只要在基础资料类中加入[XafDefaultProperty("名称")]标签即可. namespace NEO.ERP.Module.BusinessObjects.B ...

  10. HDU_3038 How Many Answers Are Wrong 【带权并查集】

    一.题面 HDU3038 二.分析 用并查集可以方便的判断两个位置是否有关系,这种关系可以通过是否有公共父节点判断,如果有公共父节点则可以直接判断是否正确,如果没有公共父节点,就可以把这个条件与之前的 ...