SQL Server数据库控制视图页面的访问权限代码

数据库 SQL Server
本文我们主要介绍了一个SQL Server数据库控制视图页面的访问权限的源代码,即实现控制视图页面的访问权限,设置只有指定组的用户可以访问的功能,希望能够对您有所帮助。

SQL Server数据库控制视图页面的访问权限有利于数据库的安全性,本文我们主要介绍一个数据库控制视图页面的访问权限的源程序,实现的功能是:控制视图页面的访问权限,设置只有指定组的用户可以访问。接下来我们就介绍这个源程序,希望能够对您有所帮助。

源程序如下:

说明:写一个webpart,添加到需要控制权限的页面,如何当前用户不属于指定的组,则不允许用户访问当前页面。

代码如下:

  1. Code highlighting produced by Actipro CodeHighlighter (freeware)  
  2. http://www.CodeHighlighter.com/  
  3. -->//----------------------------------------------------------------  
  4. //CodeArt  
  5. //  
  6. //文件描述:  
  7. //  
  8. //创 建 人: jianyi  
  9. //创建日期: 2008-7-11  
  10. //  
  11. //修订记录:   
  12. //  
  13. //----------------------------------------------------------------  
  14. using System;  
  15. using System.Collections.Generic;  
  16. using System.Collections;  
  17. using System.ComponentModel;  
  18. using System.Text;  
  19. using System.Web;  
  20. using System.Web.UI;  
  21. using System.Web.UI.WebControls;  
  22. using System.Web.UI.WebControls.WebParts;  
  23. using System.Web.UI.HtmlControls;  
  24. using Microsoft.SharePoint;  
  25. using System.Collections.Specialized;  
  26. using Microsoft.SharePoint.Utilities;   
  27. namespace ShareOffice.WebParts  
  28. {  
  29. public class RightControlPart : WebPart  
  30. {  
  31. private string _Groups = "";  
  32. [WebBrowsable]  
  33. [WebDescription("有权访问的组,用;间隔")]  
  34. [Personalizable(PersonalizationScope.Shared)]  
  35. public string Groups  
  36. {  
  37. get { return _Groups; }  
  38. set { _Groups = value; }  
  39. }  
  40. protected override void OnLoad(EventArgs e)  
  41. {  
  42. base.OnLoad(e);  
  43. this.Title = "";  
  44. base.ChromeType = PartChromeType.None;  
  45. SPUser user = SPContext.Current.Web.CurrentUser;  
  46. //管理员可以访问  
  47. if (user.IsSiteAdmin && String.IsNullOrEmpty(this.Groups))  
  48. return;  
  49. //检测用户是否属于配置的组  
  50. string[] arr = this._Groups.Split(';');  
  51. StringCollection userGroups = new StringCollection();  
  52. foreach (SPGroup g in user.Groups)  
  53. {  
  54. userGroups.Add(g.Name.ToLower());  
  55. }  
  56. foreach( string g in arr )  
  57. {  
  58. if (userGroups.Contains(g.ToLower()))  
  59. return;  
  60. }  
  61. SPUtility.TransferToErrorPage("您没有权限访问此视图.");  
  62. }  
  63. }  

 

这种方法的一个适用场景是一个列表做两个视图:

视图1(默认视图): 采用某个用户字段=[本人做过滤],普通用户可以查看到跟自己有关的数据。

视图2:显示所有记录。在视图2页面上放置这个权限控制webpart,设置只有某个组可以访问。

以上就是SQL Server数据库控制视图页面的访问权限代码的全部内容,本文我们就介绍到这里了,希望本次的介绍能够对您有所收获!

【编辑推荐】

  1. SQL Server 2005导入Oracle 10g的C#源码
  2. SQL Server 2008快速清理日志文件的代码
  3. SQL Server 2008数据库中CDC的功能使用及说明
  4. SQL Server 2008阻止保存要求重新创建表的更改的问题
  5. SQL Server数据库row_number() over() 来自动产生行号
责任编辑:赵鹏 来源: 博客园
相关推荐

2011-09-01 12:42:09

SQL Server创建加密视图控制视图页面的访问权限

2010-06-28 10:06:09

SQL Server数

2010-07-15 17:28:50

SQL Server

2011-03-14 13:18:41

SQL Server数权限

2011-08-22 12:01:36

SQL Server代码优化

2009-06-03 10:51:59

连接SQL数据库Adobe Dream

2011-08-09 17:24:21

SQL Server 数据库日志

2011-08-04 18:32:47

数据库字典SQL Server数

2011-07-15 11:02:47

SQL Server 用户权限设置

2009-09-15 10:02:44

Linq to SQL

2011-08-24 12:49:56

SQL Server托管代码

2021-05-17 06:57:34

SQLServer数据库

2010-07-08 11:05:14

SQL Server数

2010-06-17 10:02:12

SQL Server数

2011-08-30 16:52:22

IP访问SQL Ser

2010-04-19 10:00:02

Oracle SQL

2011-07-27 18:09:18

2011-03-18 13:23:47

SQL ServerOracle

2011-08-22 16:23:47

SQL Server数视图复杂的数据查询

2010-07-02 09:56:16

点赞
收藏

51CTO技术栈公众号