posts - 27, comments - 95, trackbacks - 0, articles - 1
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

WebPart模拟用户验证

Posted on 2005-04-25 00:24 阅读(830) 评论(1) 编辑 收藏
WebPart模拟用户验证
 既是用另一个用户来代替当前用户行使特殊操作(一般是当前用户不能行使的操作)
 
 具体操作:
 1。WindowsImpersonationContext wic = ChangeUser.CreateIdentity(this.UserName, this.UserDomain, this.UserPassWord).Impersonate();
  WindowsImpersonationContext 表示模拟操作之前的 Windows 用户。 
  ChangeUser.CreateIdentity() 登陆新的用户。
 2。执行要做的特殊操作。
 3。 wic.Undo();  将用户上下文恢复为该对象表示的 Windows 用户。  
 
 ChangeUser.CreateIdentity()的实现

 1using System;
 2using System.Security.Principal;
 3using System.Runtime.InteropServices;
 4namespace UsageInfo
 5{
 6    /// <summary>
 7    /// ChangeUser 的摘要说明。
 8    /// </summary>

 9    public class ChangeUser
10    {
11        public
 ChangeUser()
12        
{
13         &nbs p;  //
14         &nbs p;  // TODO: 在此处添加构造函数逻辑
15         &nbs p;  //
16        }

17        public static WindowsIdentity CreateIdentity(string User, string Domain, string Password)
18