.Net如何做Impersonate
来源:互联网 发布:java setscale 编辑:程序博客网 时间:2024/04/30 08:51
源自MSDN
[DllImport("advapi32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
public static extern bool LogonUser(String lpszUsername, String lpszDomain, String lpszPassword,
int dwLogonType, int dwLogonProvider, out SafeTokenHandle phToken);
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
public extern static bool CloseHandle(IntPtr handle);
public sealed class SafeTokenHandle : SafeHandleZeroOrMinusOneIsInvalid
{
private SafeTokenHandle()
: base(true)
{
}
[DllImport("kernel32.dll")]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
[SuppressUnmanagedCodeSecurity]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool CloseHandle(IntPtr handle);
protected override bool ReleaseHandle()
{
return CloseHandle(handle);
}
}
Sample:
SafeTokenHandle safeTokenHandle;
bool returnValue = LogonUser("report.admin", "China", "report.admin", 2, 0, out safeTokenHandle);
if (!returnValue)
{
throw new System.ComponentModel.Win32Exception(Marshal.GetLastWin32Error());
}
using (safeTokenHandle)
{
WindowsIdentity newId = new WindowsIdentity(safeTokenHandle.DangerousGetHandle());
using (WindowsImpersonationContext impersonatedUser = newId.Impersonate())
{
// Check the identity.
Console.WriteLine("After impersonation: "
+ WindowsIdentity.GetCurrent().Name);
}
}
- .Net如何做Impersonate
- ASP.net impersonate
- Impersonate user in ASP.Net
- 如何使用<identity impersonate="true"/>
- 如何使用<identity impersonate="true"/>
- 在ASP.NET应用程序中使用身份模拟 impersonate
- 如何做asp。net的安全.
- ADO.NET Data Service:如何做身份验证
- ASP.Net 2.0如何做窗体身份验证
- Blackpearl 的 Impersonate
- session winstaion impersonate
- 如何做:创建自定义帐户来运行 ASP.NET
- asp.net如何利用两个listbox控件做联动?
- 整理: ASP.NET防盗链IHttpHandler源码如何做的?
- 用asp.net如何做过滤脏话问题
- 在ASP .NET MVC下如何做日志
- 编程怎么做·VB.NET如何启动一个程序
- vb.net做的无窗口应用程序如何实现移动
- Excel里设计定时器的技巧
- 面试题
- java写文件方法之比较
- 非递归遍历二叉树
- ie6 javascript js 缺少标识符总结
- .Net如何做Impersonate
- 分页几种方式
- JAVA应用XFire框架来实现WebServie的大文件传输功能之一(下载)
- 英语听力资料
- android aidl
- Koogra 操作 Excel2007 VB.NET 版
- plsql复制表数据
- DBLINK的简单运用说明
- 32位/64位机上常用数据类型字节数(C语言)