zoukankan      html  css  js  c++  java
  • SQl Server 中登录名 、用户、角色、概念一览

     

     
     
     
     
    数据库,角色,用户,安全
     
         登录SQL server 2008可以用windows身份验证也可以用sql server身份验证,不论那种,进入数据库后
     
    都拥有超级用户的权限,这显然是不太安全的。合理的做法是:对于一个数据库,应该是由不同权限的用户
     
    进行操作和管理。
     
           本博文将结合一个例子来讲解如何建立数据库,并为数据库建立不同权限的用户。
     
           一、登录数据库管理系统(首先要打开SQL Server数据库服务)
     
           1、用windows身份验证登录
     
     
            2、用sql server身份验证登录,默认的登录名是sa,如果密码忘记了可以用windows身份登录后,进入
     
    更改。安全性->登录名->双击sa->设置密码。
     
     
              二、建立数据库library
     
              1、数据库->新建数据库
     
     
             2、填写数据库名称
     
     
             三、为数据库library建立基本表:学生表student、图书表book、借阅表borrow。并各导入一定的数据。
     
            四、创建用户。
     
            这里为简单起见,只创建两个用户——学生用户(student_user)、管理员用户(admin_user)。其中学
     
    生用户只能查阅(select),而管理员用户可以查阅(select)、更新(update)、插入(insert)、删除(delete)。
     
            1、首先要创建登录名,并未登录名指定用户
     
                  ①学生用户 
    [sql] 
    use library  
    go  
    create login stu with password='123';  
      
    use library  
    go  
    create user student_user for login stu;  
                  ②管理员用户
     
    [sql] 
    use library  
    go  
    create login stu with password='123';  
      
    use library  
    go  
    create user student_user for login stu;  
             
               2、创建角色并未角色授权
     
                    ①学生角色
     
    [sql] 
    create role student_role;  
    grant select on book to student_role;  
    grant select on borrow to student_role;  
    grant select on student to student_role;  
                    ②管理员角色
     
    [sql] 
    create role admin_role;  
    grant select,update,delete,insert on book to admin_role;  
    grant select,update,delete,insert on borrow to admin_role;  
    grant select,update,delete,insert on student to admin_role;  
     
                3、将角色授予用户。student_role授予student_user,admin_role授予admin_user。
     
                      ①student_role授予sthdent_user
     
    [sql] 
    exec sp_addrolemember   
    @rolename='student_role',  
    @membername='student_user';  
                      ②admin_role授予admin_user
     
    [sql] 
    exec sp_addrolemember   
    @rolename='admin_role',  
    @membername='admin_user';  
     
                五、分别用stu和admin登录,可以发现stu登录后只能对基本表进行查询操作,而admin登录后除了可以
     
    查询外,还可以插入、删除、更新。这样就达到了博文开始时所述,不同权限的用户进行不同的操作,从而使
     
    得数据库更加安全。
     
  • 相关阅读:
    luogu P3801 红色的幻想乡
    [USACO07OPEN]吃饭Dining
    [SCOI2007]蜥蜴
    [SDOI2011]染色
    [USACO07DEC]Sightseeing Cows
    [HNOI2007]紧急疏散EVACUATE
    [ZJOI2009]假期的宿舍
    [SDOI2013]费用流
    [CQOI2009]跳舞
    使用chrony安装chrony
  • 原文地址:https://www.cnblogs.com/java2016/p/5386562.html
Copyright © 2011-2022 走看看