博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

WebPart模拟用户验证

Posted on 2005-04-25 00:24    阅读(1068)  评论(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