Solved

find user permission

Posted on 2013-10-31
11
220 Views
Last Modified: 2014-01-28
Using the c# code , I want  verify  the login  user has following permissions

create folder
delete folder
create file
modify file
delete file
copy file

I am using .net frame work 2.0
0
Comment
Question by:Varshini S
11 Comments
 
LVL 40

Expert Comment

by:Kyle Abrahams
ID: 39614408
You need to determine the effective permissions on the parent folder.

Here's a blog that explains how to do that in detail . . . if you have any questions about it please feel free to post so I can explain further:
http://www.conarc.com/blog/2010/03/25/programmatically-getting-effective-directoryfile-permissions/
0
 
LVL 15

Expert Comment

by:unknown_routine
ID: 39614472
You need to use FileSystemAccessRule Class.

Take a look at the example in this page:

http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.filesystemaccessrule(v=vs.80).aspx
0
 

Author Comment

by:Varshini S
ID: 39615251
ged325 - The sample code won't support for .net ramework 2.0 , Am I correct ?
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 40

Expert Comment

by:Kyle Abrahams
ID: 39616750
Rubha it should work . . . did you try it?
0
 

Author Comment

by:Varshini S
ID: 39617651
ged325 - I tried that but I am getting the error.

please see my attached the screen shot
ERROR.png
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 39641467
You have a screen shot that shows the red squigglies, but not the error text...
0
 
LVL 40

Accepted Solution

by:
Kyle Abrahams earned 500 total points
ID: 39641725
Make sure you have using System.Linq;

Also, if you were to hit ctrl + period over rule or authorizationRules it would prompt you to add the object.

Did you add the entire function?


private static FileSystemAccessRule[] GetAccessRulesArray(string userName, string path) {  
  // get all access rules for the path - this works for a directory path as well as a file path    AuthorizationRuleCollection authorizationRules = (new FileInfo(path)).GetAccessControl().GetAccessRules(true, true, typeof(SecurityIdentifier));     

// get the user's sids    
string[] sids = GetSecurityIdentifierArray(userName);     

// get the access rules filtered by the user's sids    
return (from rule in authorizationRules.Cast<FileSystemAccessRule>()            where sids.Contains(rule.IdentityReference.Value)            select rule).ToArray();
}

Open in new window

0
 

Author Comment

by:Varshini S
ID: 39648817
ged325- Thank You ,The function is working fine but when I execute this application in a workgroup computer it is throwing error since it is not in the domain. How do I change the same below method to work in work group computers ?

private static string[] GetSecurityIdentifierArray(string userName)
        {
            // connect to the domain
            PrincipalContext pc = new PrincipalContext(ContextType.Domain);

            // search for the domain user
            UserPrincipal user = new UserPrincipal(p
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Windows programmers of the C/C++ variety, how many of you realise that since Window 9x Microsoft has been lying to you about what constitutes Unicode (http://en.wikipedia.org/wiki/Unicode)? They will have you believe that Unicode requires you to use…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
The goal of this video is to provide viewers with basic examples to understand opening and writing to files in the C programming language.
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.

756 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question