zoukankan
html css js c++ java
控制视图页面的访问权限
问题:
控制视图页面的访问权限,设置只有指定组的用户可以访问。
解决方案:
写一个webpart,添加到需要控制权限的页面,如何当前用户不属于指定的组,则不允许用户访问当前页面。
代码:
//
----------------------------------------------------------------
//
CodeArt
//
//
文件描述:
//
//
创 建 人: jianyi
//
创建日期: 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(
"
有权访问的组,用;间隔
"
)]
[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(
"
您没有权限访问此视图.
"
);
}
}
}
这种方法的一个适用场景:
一个列表做两个视图:
视图1(默认视图): 采用某个用户字段=[本人做过滤],普通用户可以查看到跟自己有关的数据。
视图2:显示所有记录。在视图2页面上放置这个权限控制webpart,设置只有某个组可以访问。
查看全文
相关阅读:
effective C++
bat取时间间隔
bat设置windows计划任务
listener.ora 与 tnsnames.ora
route(windows)
bat 数组实现
非const引用参数传入不同类型编译不过的理解(拒绝将临时对象绑定为非const的引用的形参是有道理的)
python no module named builtins
Caffe使用新版本CUDA和CuDNN
Ubuntu16.04安装vim8
原文地址:https://www.cnblogs.com/jianyi0115/p/1241210.html
最新文章
三步解决fiddler升级后https无法通过证书验证问题
Fiddler证书安装(查看HTTPS)
IOS手机使用Fiddler抓获HTTPS报文方法
安卓手机使用Fiddler抓获HTTPS报文方法
Python 中的几种复制文件的用法
python csv读写
python3中bytes与string的互相转换
Matrix: android 中的Matrix (android.graphics.Matrix) (转)
android: 日期转Unix时间戳,Unix时间戳转日期,带时区
android: 使用android逆向助手反编译APK
热门文章
android: 获取屏幕高度和虚拟导航栏高度的几种方法
Matrix: android 中的ColorMatrix (转)
android studio: Rejecting re-init on previously-failed class java.lang.Class<android.support.v4.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: java.lang.NoClassDefFoundError: Failed resolution o
音频属性相关:声道、采样率、采样位数、样本格式、比特率
采样率和采样位数的由来(转)
转:图像处理、显示中的行宽(linesize)、步长(stride)、间距(pitch)
FFmpeg: FFmepg中的sws_scale() 函数分析
你的安全设置不允许网站使用安装在你的计算机上的ActiveX控件
vbs获取当前主机IP
cmd批处理常用符号详解
Copyright © 2011-2022 走看看