WebPart模拟用户验证
既是用另一个用户来代替当前用户行使特殊操作(一般是当前用户不能行使的操作)
具体操作:
1。WindowsImpersonationContext wic = ChangeUser.CreateIdentity(this.UserName, this.UserDomain, this.UserPassWord).Impersonate();
WindowsImpersonationContext 表示模拟操作之前的 Windows 用户。
ChangeUser.CreateIdentity() 登陆新的用户。
2。执行要做的特殊操作。
3。 wic.Undo(); 将用户上下文恢复为该对象表示的 Windows 用户。
ChangeUser.CreateIdentity()的实现
既是用另一个用户来代替当前用户行使特殊操作(一般是当前用户不能行使的操作)
具体操作:
1。WindowsImpersonationContext wic = ChangeUser.CreateIdentity(this.UserName, this.UserDomain, this.UserPassWord).Impersonate();
WindowsImpersonationContext 表示模拟操作之前的 Windows 用户。
ChangeUser.CreateIdentity() 登陆新的用户。
2。执行要做的特殊操作。
3。 wic.Undo(); 将用户上下文恢复为该对象表示的 Windows 用户。
ChangeUser.CreateIdentity()的实现
1
using System;
2
using System.Security.Principal;
3
using System.Runtime.InteropServices;
4
namespace 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
浙公网安备 33010602011771号