Example #1
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack && !IsCallback && !IsAsync)
     {
         if (!string.IsNullOrEmpty(Request.QueryString["teacher"]))
         {
             HAP.MyFiles.Homework.Homework Homework = new HAP.MyFiles.Homework.Homeworks().Homework.Single(hw => hw.Teacher == Request.QueryString["teacher"] && hw.Name == Request.QueryString["name"] && hw.Start == Request.QueryString["start"].Replace('.', ':') && hw.End == Request.QueryString["end"].Replace('.', ':'));
             ADUser.Authenticate(Homework.Teacher, TokenGenerator.ConvertToPlain(Homework.Token));
         }
         ADUser.Impersonate();
         string       path = Server.UrlDecode(Request.QueryString["path"].Remove(0, 1).Replace('^', '&').Replace("|", "%"));
         string       p    = Request.QueryString["path"].Substring(0, 1);
         DriveMapping unc  = null;
         unc = config.MyFiles.Mappings.FilteredMappings[p.ToCharArray()[0]];
         if (unc == null || !isWriteAuth(unc))
         {
             Response.Redirect(Request.ApplicationPath + "/unauthorised.aspx", true);
         }
         else
         {
             path = Converter.FormatMapping(unc.UNC, ADUser) + path.Replace('/', '\\');
         }
         ADUser.EndImpersonate();
     }
 }
Example #2
0
        protected void uploadbtn_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(Request.QueryString["teacher"]))
            {
                HAP.MyFiles.Homework.Homework Homework = new HAP.MyFiles.Homework.Homeworks().Homework.Single(hw => hw.Teacher == Request.QueryString["teacher"] && hw.Name == Request.QueryString["name"] && hw.Start == Request.QueryString["start"].Replace('.', ':') && hw.End == Request.QueryString["end"].Replace('.', ':'));
                ADUser.Authenticate(Homework.Teacher, TokenGenerator.ConvertToPlain(Homework.Token));
            }
            ADUser.Impersonate();
            message.Text = "";
            string       path = Server.UrlDecode(Request.QueryString["path"].Remove(0, 1).Replace('^', '&').Replace("|", "%"));
            string       p    = Request.QueryString["path"].Substring(0, 1);
            DriveMapping unc  = null;

            unc = config.MyFiles.Mappings.FilteredMappings[p.ToCharArray()[0]];
            if (unc == null || !isWriteAuth(unc))
            {
                Response.Redirect(Request.ApplicationPath + "/unauthorised.aspx", true);
            }
            else
            {
                path = Converter.FormatMapping(unc.UNC, ADUser) + path.Replace('/', '\\');
            }
            if (FileUpload1.HasFile && isAuth(Path.GetExtension(FileUpload1.FileName)))
            {
                FileUpload1.SaveAs(Path.Combine(path, (string.IsNullOrEmpty(Request.QueryString["teacher"]) ? "" : User.Identity.Name + " - ") + FileUpload1.FileName)); message.Text += FileUpload1.FileName + " has been uploaded<br />";
            }
            else if (FileUpload1.HasFile)
            {
                message.Text += "Error: " + FileUpload1.FileName + " is a restricted file type<br/>";
            }
            if (FileUpload2.HasFile && isAuth(Path.GetExtension(FileUpload2.FileName)))
            {
                FileUpload2.SaveAs(Path.Combine(path, (string.IsNullOrEmpty(Request.QueryString["teacher"]) ? "" : User.Identity.Name + " - ") + FileUpload2.FileName)); message.Text += FileUpload2.FileName + " has been uploaded<br />";
            }
            else if (FileUpload2.HasFile)
            {
                message.Text += "Error: " + FileUpload2.FileName + " is a restricted file type<br/>";
            }
            if (FileUpload3.HasFile && isAuth(Path.GetExtension(FileUpload3.FileName)))
            {
                FileUpload3.SaveAs(Path.Combine(path, (string.IsNullOrEmpty(Request.QueryString["teacher"]) ? "" : User.Identity.Name + " - ") + FileUpload3.FileName)); message.Text += FileUpload3.FileName + " has been uploaded<br />";
            }
            else if (FileUpload3.HasFile)
            {
                message.Text += "Error: " + FileUpload3.FileName + " is a restricted file type<br/>";
            }
            if (FileUpload4.HasFile && isAuth(Path.GetExtension(FileUpload4.FileName)))
            {
                FileUpload4.SaveAs(Path.Combine(path, (string.IsNullOrEmpty(Request.QueryString["teacher"]) ? "" : User.Identity.Name + " - ") + FileUpload4.FileName)); message.Text += FileUpload4.FileName + " has been uploaded<br />";
            }
            else if (FileUpload4.HasFile)
            {
                message.Text += "Error: " + FileUpload4.FileName + " is a restricted file type<br/>";
            }
            if (FileUpload5.HasFile && isAuth(Path.GetExtension(FileUpload5.FileName)))
            {
                FileUpload5.SaveAs(Path.Combine(path, (string.IsNullOrEmpty(Request.QueryString["teacher"]) ? "" : User.Identity.Name + " - ") + FileUpload5.FileName)); message.Text += FileUpload5.FileName + " has been uploaded<br />";
            }
            else if (FileUpload5.HasFile)
            {
                message.Text += "Error: " + FileUpload5.FileName + " is a restricted file type<br/>";
            }
            if (!string.IsNullOrEmpty(message.Text))
            {
                message.Text = "<div style=\"padding: 4px; color: red;\">" + message.Text + "</div>";
            }
            closeb.Visible = (((Button)sender).ID == "uploadbtnClose");
            ADUser.EndImpersonate();
        }