积极答复者
sharepoint 2010 Event Receiver 的使用

问题
答案
-
Windows认证有两个用户来源,一个是前端服务器本地Windows用户,一个是服务器所在域的AD用户。
AD用户的信息进入到SharePoint的过程是这样的:
1、在用户第一次被放入SharePoint的时候(比如有人给这个用户分配了权限,或者把这个用户加入了某些组的时候,或者这个用户第一次登陆的时 候),用户的登录名、姓名和电子邮件地址会从AD带过来;
(如果你安装的是SharePoint Foundation,就只有这个过程)
2、如果你装的是Server版,并且配置了User Profile Service的用户同步,那么除了上述那种方式之外,AD用户的属性进入SharePoint是这样的过程:
AD -> 用户配置文件(User Profile) -> SharePoint网站
中间这两个同步的步骤各有若干定时器作业(TimerJob)来完成,这个同步的频率根据从几分钟到一天不等。
SharePoint和AD的关系简要的说可以归纳为以下几点:
1、在多服务器组成的服务器场中,靠AD域把这几台服务器维持在一起(使用相同的服务账户)
2、在Windows认证情况下(或者以AD为源的表单认证),AD可以作为SharePoint用户的主要来源
3、在Windows认证情况下(或者以AD为源的表单认证),AD负责进行用户验证(Authentication)
所以,如果你的服务器场只有一台机器,而且不打算用Windows认证的话,SharePoint可以和AD一点关系都没有
- 已标记为答案 minivya 2011年7月15日 2:36
全部回复
-
Hi minivya,
同意Lambert的说法,使用Event Handler是一个很好的方案。
1. 至于如何获取到字段的值,你可以使用properties.BeforeProperties["column"] 和properties.AfterProperties["column"],参考一下的方案:
public override void ItemUpdating(SPItemEventProperties properties)
{
if (properties.BeforeProperties["column"] != properties.AfterProperties["column"])
{
properties.Cancel = true;
properties.ErrorMessage = "This column cannot be changed";
}
}
2. 你使用的是SharePoint 2010, 是可以跳转到自定义的错误页面的,SPItemEventProperties多了一个RedirectUrl的属性。参考:public override void ItemAdding(SPItemEventProperties properties) { base.ItemAdding(properties); string tite = properties.AfterProperties[“title”].ToString(); if(tite.Contains(“_”)) { properties.Cancel = true; properties.Status = SPEventRecieverStatus.CancelWithRedirectUrl; Properties.RedirectUrl = “/_layouts/MyBlog/CustomError.aspx?errormessage =Inavlid Title”; } }
- 已建议为答案 Lambert Qin [秦磊] 2011年7月7日 6:18
-
1.假如标题为空,在自定义的错误页面,显示错误信息“标题没有入力,就这样登陆信息吗?”,下面有两个按钮[OK][Cancle]。
点击[OK],就这样登陆了,返回列表页面;
点击[Cancle],返回到,追加列表项的页面,输入标题,之后再保存。
SPEventReceiverStatus有四个属性“CancelWithError,CancelNoError,Continue,CancelWithRedirectUrl”
没有我这种既想出错误信息,又不取消的,要根据这两个按钮[OK][Cancle]来决定接下来的处理的。
这样一个自定义的错误页面CustomError.aspx,页面做起来比较容易,但是这两个按钮的处理怎么做,怎么才能和sharepoint的列表页面,和追加列表项目的页面联动起来呢?
2.“姓名”字段,做判断,是否是在active directory中登录的用户,这个查询的处理,用什么方法能够表容易实现呢?
以上两个问题,我不知道有没有表述清楚,请高手帮我解答一下。
-
Windows认证有两个用户来源,一个是前端服务器本地Windows用户,一个是服务器所在域的AD用户。
AD用户的信息进入到SharePoint的过程是这样的:
1、在用户第一次被放入SharePoint的时候(比如有人给这个用户分配了权限,或者把这个用户加入了某些组的时候,或者这个用户第一次登陆的时 候),用户的登录名、姓名和电子邮件地址会从AD带过来;
(如果你安装的是SharePoint Foundation,就只有这个过程)
2、如果你装的是Server版,并且配置了User Profile Service的用户同步,那么除了上述那种方式之外,AD用户的属性进入SharePoint是这样的过程:
AD -> 用户配置文件(User Profile) -> SharePoint网站
中间这两个同步的步骤各有若干定时器作业(TimerJob)来完成,这个同步的频率根据从几分钟到一天不等。
SharePoint和AD的关系简要的说可以归纳为以下几点:
1、在多服务器组成的服务器场中,靠AD域把这几台服务器维持在一起(使用相同的服务账户)
2、在Windows认证情况下(或者以AD为源的表单认证),AD可以作为SharePoint用户的主要来源
3、在Windows认证情况下(或者以AD为源的表单认证),AD负责进行用户验证(Authentication)
所以,如果你的服务器场只有一台机器,而且不打算用Windows认证的话,SharePoint可以和AD一点关系都没有
- 已标记为答案 minivya 2011年7月15日 2:36