C#程序中模拟帐号登录
来源:互联网 发布:上海淘宝美工兼职工资 编辑:程序博客网 时间:2024/05/29 12:07
前段时间在移动那里服务器A要获取服务器B上的文件,无奈部署在服务器A上的程序是windows服务,不能通过“\\10.246.*.*\download”这样的类似路径来获取,这样获取的话程序总是会判断出路径下的文件不存在,因为服务是没有帐号权限的,故要虚拟一个有权限连到服务器B的帐号出来获取文件,虚拟程序代码如下:
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
System.Security.Principal;
using
System.Runtime.InteropServices;
using
System.IO;
namespace
ConsoleApplication3
{
internal
static
class
WinLogonHelper
{
/// <summary>
/// 模拟windows登录域
///http://www.cnblogs.com/yukaizhao/
/// </summary>
[DllImport(
"advapi32.DLL"
, SetLastError =
true
)]
public
static
extern
int
LogonUser(
string
lpszUsername,
string
lpszDomain,
string
lpszPassword,
int
dwLogonType,
int
dwLogonProvider,
ref
IntPtr phToken);
}
class
Program
{
static
void
Main(
string
[] args)
{
IntPtr admin_token =
default
(IntPtr);
WindowsIdentity wid_admin =
null
;
WindowsImpersonationContext wic =
null
;
//在程序中模拟域帐户登录
if
(WinLogonHelper.LogonUser(
"uid"
,
"serverdomain"
,
"pwd"
, 9, 0,
ref
admin_token) != 0)
{
using
(wid_admin =
new
WindowsIdentity(admin_token))
{
using
(wic = wid_admin.Impersonate())
{
//假定要操作的文件路径是10.0.250.11上的d:\txt.txt文件可以这样操作
FileInfo file =
new
FileInfo(
@"\\10.0.250.11\d$\txt.txt"
);
//想做什么操作就可以做了
}
}
}
}
}
}
- C#程序中模拟帐号登录
- c# 微信模拟登录抓取公共帐号发送图文信息
- c# 微信模拟登录抓取公共帐号发送图文信息
- 如何在c#程序中模拟域帐户进行登录操作
- 如何在c#程序中模拟域帐户进行登录操作
- 如何在c#程序中模拟域帐户进行登录操作
- 用Python(Tornado)模拟登录小米帐号
- 利用phantomjs模拟登录网站(帐号登陆)
- python 爬虫 利用selenium模拟登录帐号 向requests中重设 cookie
- C#模拟网站登录
- 转:C# 模拟登录
- C# 模拟登录
- C#模拟登录总结
- c# 模拟用户登录
- C#模拟域登录
- c#模拟用户登录
- 程序模拟用户登录
- 模拟登录程序
- android自动化测试之单元测试实例 .
- 讨论_类,子类,虚函数,纯虚函数
- Jquery 常用插件
- 如何对付网络爬虫 - JavaEye和网络爬虫斗争之路
- 禁用Scroll中的添加或删除按钮
- C#程序中模拟帐号登录
- 同网段下多个独立域的实现
- strcpy/strncpy/sprintf/_snprintf/snprintf的区别
- jdbc连接MySQL
- 测试测试
- 正则表达式
- nginx图片服务器优化 解决流量和存储问题
- NSDictionary和NSMutableDictionary例子微解
- smarty 截取字符串长度