日期:2010-09-15  浏览次数:20382 次

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
{
    //文件夹路径
    private string strDir = "images";

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

    /// <summary>
    /// 给文件夹添加ASPNET用户
    /// </summary>
    private void AddDirectorySecurity()
    {
        DirectoryInfo dirinfo = new DirectoryInfo(Server.MapPath(strDir));

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

        //取得访问控制列表
        DirectorySecurity dirsecurity = dirinfo.GetAccessControl();

        string strDomain = Dns.GetHostName();

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

        dirinfo.SetAccessControl(dirsecurity);
    }
}