public class IdentityScope : IDisposable
{
    // obtains user token
    [DllImport("advapi32.dll", SetLastError = true)]
    static extern bool LogonUser(string pszUsername, string pszDomain, string pszPassword,int dwLogonType, int dwLogonProvider, ref IntPtr phToken);
    // closes open handes returned by LogonUser
    [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
    extern static bool CloseHandle(IntPtr handle);

    [DllImport("Advapi32.DLL")]
    static extern bool ImpersonateLoggedOnUser(IntPtr hToken);
    [DllImport("Advapi32.DLL")]
    static extern bool RevertToSelf();
    const int LOGON32_PROVIDER_DEFAULT = 0;
    const int LOGON32_LOGON_NEWCREDENTIALS = 9;//域ò控?中D的?需è要a用?:Interactive = 2
    private bool disposed;
    /// 
    /// 登?录?
    /// 
    /// 用?户§名?
    /// 域ò名?,?如?果?不?在ú域ò中D就í使1用?机ú器÷IP地?址·
    /// 密ü码?
    public IdentityScope(string sUsername, string sDomain, string sPassword)
    {
      // initialize tokens
      IntPtr pExistingTokenHandle = new IntPtr(0);
      IntPtr pDuplicateTokenHandle = new IntPtr(0);
      try
      {
        // get handle to token
        bool bImpersonated = LogonUser(sUsername, sDomain, sPassword,LOGON32_LOGON_NEWCREDENTIALS, LOGON32_PROVIDER_DEFAULT, ref pExistingTokenHandle);
        if (true == bImpersonated)
        {
          if (!ImpersonateLoggedOnUser(pExistingTokenHandle))
          {
            int nErrorCode = Marshal.GetLastWin32Error();
            throw new Exception("ImpersonateLoggedOnUser error;Code=" + nErrorCode);
          }
        }
        else
        {
          int nErrorCode = Marshal.GetLastWin32Error();
          throw new Exception("LogonUser error;Code=" + nErrorCode);
        }
      }
      finally
      {
        // close handle(s)
        if (pExistingTokenHandle != IntPtr.Zero)
          CloseHandle(pExistingTokenHandle);
        if (pDuplicateTokenHandle != IntPtr.Zero)
          CloseHandle(pDuplicateTokenHandle);
      }
    }
    protected virtual void Dispose(bool disposing)
    {
      if (!disposed)
      {
        RevertToSelf();
        disposed = true;
      }
    }
    public void Dispose()
    {
      Dispose(true);
    }
  }

CentOS服务器Nginx绑定多个域名

nginx绑定多个域名可又把多个域名规则写一个配置文件里,也可又分别建立多个域名配置文件,我一般为了管理方便,每个域名建一个文件,有些同类域名也可又写在一个总的配置文件里。
一、每个域名一个文件的写法
首先打开nginx域名配置文件存放目录:/usr/local/nginx/conf/servers
,如要绑定域名www.your-domain.com则在此目录建一个文件:www.your-domain.conf然后在此文件中写规则,如:server

1234567{``listen ``80``;``server_namewww.your-domain.com; #绑定域名``index index.htm index.html index.php; #默认文件``root /home/www/your-domain.com; #网站根目录``include location.conf; #调用其他规则,也可去除``}

然后重起nginx服务器,域名就绑定成功了nginx服务器重起命令:/etc/init.d/nginx
restart
二、一个文件多个域名的写法
一个文件添加多个域名的规则也是一样,只要把上面单个域名重复写下来就ok了,如:server

1234567891011121314{``listen ``80``;``server_name bbs.your-domain.com; #绑定域名``index index.htm index.html index.php; #默认文件``root /home/www/bbs.your-domain.com; #bbs目录``include location.conf; #调用其他规则,也可去除``}server``{``listen ``80``;``server_name www.your-domain.com; #绑定域名``index index.htm index.html index.php; #默认文件``root /home/www/www.your-domain.com; #网站根目录``include location.conf; #调用其他规则,也可去除``}

三、不带www的域名加301跳转
如果不带www的域名要加301跳转,那也是和绑定域名一样,先绑定不带www的域名,只是不用写网站目录,而是进行301跳转,如:

123456server``{``listen ``80``;``server_name your-domain.com;``rewrite ^/(.*) http://www.your-domain.com/$1
permanent;}

四、添加404网页

添加404网页,都可又直接在里面添加,如:

123456789server``{``listen ``80``;``server_name www.your-domain.com; #绑定域名``index index.htm index.html index.php; #默认文件``root /home/www/your-domain.com; #网站根目录``include location.conf; #调用其他规则,也可去除``error_page ``404
/``404``.html;``}

学会上面四种规则方法,基本就可以自己独立解决nginx 多域名配置问题了

nginx绑定多个域名可又把多个域名规则写一个配置文件里,也可又分别建立多个域名配置文件,我一般为了管…

域名篇

前提:
需要有google 或者 facebook 其中一个账号
那就只剩下翻墙工具了
Lantern
密码:q27z
开整 ooooooo

  • 赶紧上船freenom.com

图片 1

freenom

  • 点击Sign in之后,选择你的第三方账户登陆,我就选google吧,
    需要开启翻墙工具

图片 2

这里写图片描述

  • 我已经进来了,点击serveices之后选择register a new
    domain,注册一个域名吧

图片 3

这里写图片描述

  • 我输入了chinadream之后出现了免费可用的域名,可以自己选择后缀,因为免费,所以你懂的

图片 4

这里写图片描述

  • 选择好之后点击右边Get it now,
    之后点击页面下面的checkout按钮,进来之后选择12个月最大免费时限,然后continue

图片 5

这里写图片描述

  • 填写一些个人信息,complete order 之后这个域名就属于你了

图片 6

这里写图片描述

至此,你已经拥有一个12个月的免费域名了,而且国外的域名也是不需要备案的哦(你是不知道备案有多麻烦)
先不要关闭页面,在下面设置好服务器后,还需要回来配置一下解析域名设置


using (IdentityScope c = new IdentityScope("administrator", "192.168.0.1", "11111"))
{
 string[] filelist = System.IO.Directory.GetDirectories(@"\\192.168.0.1\folderName");
}

使用免费域名快速搭建网站(域名和服务器篇)

先介绍一下网站的简单构成元素

  • 远程服务器(虚拟主机等都可以,总之要有一台可以放置代码的电脑)
  • 服务器上要装有可运行的web软件(和你要用什么语言开发有关系,本文应该使用PHP)
  • 域名(类似baidu.com这种的,本文介绍免费域名的获取和设置)

Author

发表评论

电子邮件地址不会被公开。 必填项已用*标注