ASP.net adds Aspnet users to a directory on the site

  • 2020-05-05 11:07:13
  • OfStack

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using System.IO;
using System.Net;
using System.Security.AccessControl;
using System.Security.Principal;

public partial class ACLChange : System.Web.UI.Page
{
      // folder path
      private string strDir = "images";

      protected void Page_Load(object sender, EventArgs e)
      {
              if (!IsPostBack)
              {
                      AddDirectorySecurity();
              }
      }

      /// < summary >
      /// add ASPNET user
to the folder       /// < /summary >
      private void AddDirectorySecurity()
      {
              DirectoryInfo dirinfo = new DirectoryInfo(Server.MapPath(strDir));

              if ((dirinfo.Attributes & FileAttributes.ReadOnly) != 0)
              {
                      dirinfo.Attributes = FileAttributes.Normal;
              }

              // access control list
              DirectorySecurity dirsecurity = dirinfo.GetAccessControl();

              string strDomain = Dns.GetHostName();

              dirsecurity.AddAccessRule(new FileSystemAccessRule(strDomain + "\\ASPNET", FileSystemRights.FullControl, AccessControlType.Allow));

              dirinfo.SetAccessControl(dirsecurity);
      }
}


Related articles: