SQL Server數(shù)據(jù)庫控制視圖頁面的訪問權(quán)限代碼
作者:jianyi
本文我們主要介紹了一個SQL Server數(shù)據(jù)庫控制視圖頁面的訪問權(quán)限的源代碼,即實現(xiàn)控制視圖頁面的訪問權(quán)限,設(shè)置只有指定組的用戶可以訪問的功能,希望能夠?qū)δ兴鶐椭?/div>
SQL Server數(shù)據(jù)庫控制視圖頁面的訪問權(quán)限有利于數(shù)據(jù)庫的安全性,本文我們主要介紹一個數(shù)據(jù)庫控制視圖頁面的訪問權(quán)限的源程序,實現(xiàn)的功能是:控制視圖頁面的訪問權(quán)限,設(shè)置只有指定組的用戶可以訪問。接下來我們就介紹這個源程序,希望能夠?qū)δ兴鶐椭?/p>
源程序如下:
說明:寫一個webpart,添加到需要控制權(quán)限的頁面,如何當(dāng)前用戶不屬于指定的組,則不允許用戶訪問當(dāng)前頁面。
代碼如下:
- Code highlighting produced by Actipro CodeHighlighter (freeware)
- http://www.CodeHighlighter.com/
- -->//----------------------------------------------------------------
- //CodeArt
- //
- //文件描述:
- //
- //創(chuàng) 建 人: jianyi
- //創(chuàng)建日期: 2008-7-11
- //
- //修訂記錄:
- //
- //----------------------------------------------------------------
- using System;
- using System.Collections.Generic;
- using System.Collections;
- using System.ComponentModel;
- using System.Text;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Web.UI.HtmlControls;
- using Microsoft.SharePoint;
- using System.Collections.Specialized;
- using Microsoft.SharePoint.Utilities;
- namespace ShareOffice.WebParts
- {
- public class RightControlPart : WebPart
- {
- private string _Groups = "";
- [WebBrowsable]
- [WebDescription("有權(quán)訪問的組,用;間隔")]
- [Personalizable(PersonalizationScope.Shared)]
- public string Groups
- {
- get { return _Groups; }
- set { _Groups = value; }
- }
- protected override void OnLoad(EventArgs e)
- {
- base.OnLoad(e);
- this.Title = "";
- base.ChromeType = PartChromeType.None;
- SPUser user = SPContext.Current.Web.CurrentUser;
- //管理員可以訪問
- if (user.IsSiteAdmin && String.IsNullOrEmpty(this.Groups))
- return;
- //檢測用戶是否屬于配置的組
- string[] arr = this._Groups.Split(';');
- StringCollection userGroups = new StringCollection();
- foreach (SPGroup g in user.Groups)
- {
- userGroups.Add(g.Name.ToLower());
- }
- foreach( string g in arr )
- {
- if (userGroups.Contains(g.ToLower()))
- return;
- }
- SPUtility.TransferToErrorPage("您沒有權(quán)限訪問此視圖.");
- }
- }
- }
這種方法的一個適用場景是一個列表做兩個視圖:
視圖1(默認(rèn)視圖): 采用某個用戶字段=[本人做過濾],普通用戶可以查看到跟自己有關(guān)的數(shù)據(jù)。
視圖2:顯示所有記錄。在視圖2頁面上放置這個權(quán)限控制webpart,設(shè)置只有某個組可以訪問。
以上就是SQL Server數(shù)據(jù)庫控制視圖頁面的訪問權(quán)限代碼的全部內(nèi)容,本文我們就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!
【編輯推薦】
責(zé)任編輯:趙鵬
來源:
博客園


相關(guān)推薦




