您的位置:首页 > 其它

提升MOSS Event Handler事件处理程序运行级别的方法

2007-05-17 20:49 537 查看
MOSS 的列表事件处理程序,默认是以当前用户的权限来操作的, 但是如果要进行当前用户权限以外的操作,比如设定条目权限....等等, 这种情况就要提升当前进程的权限了.

在Choral主页中找到这个方法,(没有试验,准备试验中...)

http://blog.joycode.com/choral/archive/2007/05/14/102528.aspx

没有想到那么简单, 以前我还是自己用API函数来搞定, 真是弱智呀.不过把那个用API函数搞定的程序的也贴进来,大家共享一下:

//以下用户管理用户来登录

protected static WindowsIdentity CreateIdentity(string User, string
Domain, string Password)

[DllImport("advapi32.dll", SetLastError=true)]
private static extern bool LogonUser(String lpszUsername, String
lpszDomain, String lpszPassword,
int dwLogonType, int dwLogonProvider, ref IntPtr phToken);

[DllImport("kernel32.dll", CharSet=CharSet.Auto)]
private extern static bool CloseHandle(IntPtr handle);

使用的时候, 应该这样使用:

WindowsImpersonationContext wic = CreateIdentity ("用户","域名","密码") .Impersonate();

使用完毕,应该释放权限:

wic.Undo ();

结束! 今天真高兴, 终于找到一个捷径,但我提供的程序代码,不仅可以用在MOSS和SharePoint中,开发ASPX、DLL、其它程序也都可以用哦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐