C# Tutorials and offshore development in India
    Tutorials   Resources   Forum   Reviews   Communities   Interview   Jobs   Projects   Training   Your Ad Here    
Silverlight Games | Mentor | Code Converter | Articles | Code Factory | Computer Jokes | Members | Peer Appraisal | IT Companies | Bookmarks | Polls | Revenue Sharing | Lobby | Gift Shop |


Prizes & Awards
My Profile



Active Members
TodayLast 7 Days more...






Resources » Code Snippets » Active Directory »

Setting User Permission to folder


Posted Date: 25 May 2009    Resource Type: Code Snippets    Category: Active Directory
Author: Gnana Prakash Member Level: Gold    
Rating: 1 out of 5Points: 10



Step 1 and 2 :

1. Check whether username is exits or not
2. Create username if username not exits




AddUser(@"C:\\Test3", "Tuser5", "F#4H11u>14");


private System.DirectoryServices.DirectoryEntry ActiveDirectory
{
get
{
if (objActive != null)
return objActive;
else
{
objActive = new System.DirectoryServices.DirectoryEntry("WinNT://" + Environment.MachineName + ",computer");
return objActive;
}
}
}

public void AddUser(string folderPath, string userName, string password)
{

System.DirectoryServices.DirectoryEntry objUser = null;

try
{
objUser = ActiveDirectory.Children.Find(userName, "user");
}
catch
{
}

if (objUser == null)
{
objUser = ActiveDirectory.Children.Add(userName, "user");
objUser.CommitChanges();
objUser.Invoke("Put", new object[] { "Description", "Created by Gnana Prakash for Demo Project " });
objUser.CommitChanges();
objUser.Invoke("SetPassword", new object[] { password });





//password never expires prop set ..
int flags = 0x10000;
objUser.Invoke("Put", new object[] { "UserFlags", flags });

objUser.CommitChanges();
objUser.RefreshCache();

objUser = null;

SetSecurity(folderPath, userName);
}
}








step3:

Set Permission to folder



public void SetSecurity(string folderPath, string userName)
{
DirectoryInfo objDirectoryInfo = null;
DirectorySecurity objDirectorySecurity = null;
FileSystemAccessRule objRule = null;
try
{
objDirectoryInfo = new DirectoryInfo(folderPath);
if (!Directory.Exists(folderPath))
Directory.CreateDirectory(folderPath);

//NTAccount objIdentity = new NTAccount(Environment.MachineName + @"\" + userName);
//System.Security.Principal.SecurityIdentifier objk = (SecurityIdentifier)objIdentity.Translate(typeof(SecurityIdentifier));

objDirectorySecurity = objDirectoryInfo.GetAccessControl();
objRule = new FileSystemAccessRule( userName,
FileSystemRights.ReadPermissions,
AccessControlType.Allow);
objDirectorySecurity.AddAccessRule(objRule);




objDirectoryInfo.SetAccessControl(objDirectorySecurity);
label1.Visible = true;
}
finally
{
objDirectoryInfo = null;
objDirectorySecurity = null;
objRule = null;
}

}



Attachments

  • SampleProject (28660-25713-FTPApplication.zip)


  • Responses

    Author: D.Jeya kumar(JK)    25 May 2009Member Level: Diamond   Points : 1
    Hi,


    Good sample code. please explain it so that every one will understand easily

    Regards
    JK


    Author: Gnana Prakash     26 May 2009Member Level: Gold   Points : 0
    Hi jeyakumar

    I will try to put explanation on coming week.


    Feedbacks      
    Popular Tags   What are tags ?   Search Tags  
    Sign In to add tags.
    Setting User Permission to folder  .  

    Post Feedback


    This is a strictly moderated forum. Only approved messages will appear in the site. Please use 'Spell Check' in Google toolbar before you submit.
    You must Sign In to post a response.
    Next Resource: Search File in a Directory
    Previous Resource: Check the active directory users using .net
    Return to Discussion Resource Index
    Post New Resource
    Category: Active Directory


    Post resources and earn money!
     
    More Resources



    dotNet Slackers

    About Us    Contact Us    Privacy Policy    Terms Of Use