访问被拒绝错误

时间:2011-07-17 13:04:41

标签: asp.net

我在(机器1)上创建了一个Web应用程序并在IIS 7(运行Windows Server 2008的机器)上发布,从运行Windows 2008的另一台机器(机器2)发送url字符串以在另一台上创建本地Windows帐户机器(即机器1),但我总是得到访问被拒绝错误。

此处是machine1上创建用户帐户的代码段

  protected void Page_Load(object sender, EventArgs e)
{
    try
    {

        if (Request.QueryString["UserName"] != null)
        {
            if (createUserAccount(Decrypt(HttpUtility.UrlDecode(Request.QueryString["UserName"].ToString())), Decrypt(HttpUtility.UrlDecode(Request.QueryString["Password"].ToString())), Convert.ToDateTime(HttpUtility.UrlDecode(Request.QueryString["ExpireDate"].ToString()))))
                Response.Write("user created successfuly");
            else
                Response.Write("failed");
        }
        else if (Request.QueryString["Account"] != null)
        {
            if(ChangeExpirationDate(Decrypt(HttpUtility.UrlDecode(Request.QueryString["Account"].ToString())),Convert.ToDateTime(HttpUtility.UrlDecode(Request.QueryString["newExpireDate"].ToString()))))
                Response.Write("expiration date was updated successfuly");
            else
                Response.Write("failed");
        }

    }
    catch (Exception)
    {

        Response.Redirect("AccessDeniedPage.aspx");
    }

}
Boolean createUserAccount(String User, String Pass,DateTime expirationDate)
{
    try
    {
        String currentuser=Environment.UserName;//IUSER
        DirectoryEntry AD = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer");

        DirectoryEntry NewUser = AD.Children.Add(User, "user");
        NewUser.Invoke("SetPassword", new object[] { Pass });
        NewUser.Invoke("Put", new object[] { "Description", "Virtual account to connect to PLC LAB" });
        NewUser.Invoke("Put", new object[] { "AccountExpirationDate", expirationDate });

        NewUser.CommitChanges();
        DirectoryEntry grp;
        grp = AD.Children.Find("Administrators", "group");
        if (grp != null)
        {
            grp.Invoke("Add", new object[] { NewUser.Path.ToString() });
        }
        return true;
    }
    catch (Exception exception)
    {
        return false;

    }
}

请帮助

0 个答案:

没有答案