|
i have programmatically set NTFS file system folder permissions by using Active Directory Service Interfaces in Microsoft Visual C#.the problem is that i give permissions through Mohana//administrator(Domin/User) to (C:\\Test) Folder. the program works but when i right click the test folder goto Security Tab it create another user (BUILTIN//BUILTIN)and give All permition to it. i want all permission to administrator. Plz help me.
...code....
using System;
using System.Security;
using ADSSECURITYLib;
using ActiveDs;
namespace SecurityFolder
{
public class clsSecurity
{
public clsSecurity()
{
}
public void preformAction()
{
// Set <domain> to your domain name.
// Set <username> to the user account.
SetPermissions("C:\\Test","MOHANA\\administrator");
Console.WriteLine ("Full Access control granted.");
}
public void SetPermissions(string vPath, String UserName )
{
ADsSecurity objADsSec;
SecurityDescriptor objSecDes;
AccessControlList objDAcl;
AccessControlEntry objAce1;
AccessControlEntry objAce2;
Object objSIdHex;
ADsSID objSId;
string mes;
objADsSec = new ADsSecurityClass();
objSecDes = (SecurityDescriptor)(objADsSec.GetSecurityDescriptor("FILE://"+vPath));
//objSecDes=(SecurityDescriptor)objADsSec.GetSecurityDescriptor(vPath);
objDAcl = (AccessControlList)objSecDes.DiscretionaryAcl;
objSId = new ADsSIDClass();
objSId.SetAs((int)ADSSECURITYLib.ADS_SID_FORMAT.ADS_SID_SAM, UserName.ToString());
objSIdHex = objSId.GetAs((int)ADSSECURITYLib.ADS_SID_FORMAT.ADS_SID_SDDL);
// Add a new access control entry (ACE) object (objAce) so that the user has Full Control permissions on NTFS file system files.
objAce1 = new AccessControlEntryClass();
objAce1.Trustee = System.Convert.ToString (objSIdHex);
objAce1.AccessMask = (int)ActiveDs.ADS_RIGHTS_ENUM.ADS_RIGHT_GENERIC_ALL;
objAce1.AceType = (int)ActiveDs.ADS_ACETYPE_ENUM.ADS_ACETYPE_ACCESS_ALLOWED;
objAce1.AceFlags = (int)ActiveDs.ADS_ACEFLAG_ENUM.ADS_ACEFLAG_INHERIT_ACE | (int)ActiveDs.ADS_ACEFLAG_ENUM.ADS_ACEFLAG_INHERIT_ONLY_ACE | 1;
objDAcl.AddAce(objAce1);
// Add a new access control entry object (objAce) so that the user has Full Control permissions on NTFS file system folders.
objAce2 = new AccessControlEntryClass();
objAce2.Trustee = System.Convert.ToString (objSIdHex);
objAce2.AccessMask = (int)ActiveDs.ADS_RIGHTS_ENUM.ADS_RIGHT_GENERIC_ALL;
objAce2.AceType = (int)ActiveDs.ADS_ACETYPE_ENUM.ADS_ACETYPE_ACCESS_ALLOWED;
objAce2.AceFlags = (int)ActiveDs.ADS_ACEFLAG_ENUM.ADS_ACEFLAG_INHERIT_ACE | 1;
objDAcl.AddAce(objAce2);
objSecDes.DiscretionaryAcl = objDAcl;
// Set permissions on the NTFS file system folder.
objADsSec.SetSecurityDescriptor(objSecDes, "FILE://"+vPath);
}
}
}
Sanjit.rajbanshi@wlinktech.com
|
|
|
|
|
DirectoryInfo di = new DirectoryInfo("C:\\TestDir");
DirectorySecurity dc = new DirectorySecurity();
FileSystemAccessRule ar = new FileSystemAccessRule("Administrator",FileSystemRights.FullControl,AccessControlType.Allow);
dc.AddAccessRule(ar);
di.Create(dc);
|
|
|
|
|
Hi to all....
How to invoke a exe file through asp.net application.
One thing i tried is System.Diagnostics.Process.start("exe")....
it is not working...
am doing database file download using that exe.....
thank u....
Kalyan
|
|
|
|
|
You need to provide more information than this. Are you getting any errors? If so, what are you seeing? Have you provided a fully qualified path to the executable if the executable is not in the PATH? Have you checked that you have sufficient privileges to run the process from the ASPNET worker process?
the last thing I want to see is some pasty-faced geek with skin so pale that it's almost translucent trying to bump parts with a partner - John Simmons / outlaw programmer
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
the exe is running in local client and downloading the file from webserver
when i double click it i getting what i need from the server...
but i use the code system.diaganostic.process.start("exe");
it is calling the exe suceesfully but download is not happened and no errors are shown.....
|
|
|
|
|
That is not the way to download a file from the server. If it was, then this would be a major security flaw and a gaping hole through which exploit attacks could occur. What you need to do is to write the file to the response stream and set the content type appropriately. Note that you cannot directly execute the program. The user has to do this.
To download the file:
private void WriteFile(string fileName)
{
try
{
Response.ContentType = "APPLICATION/OCTET-STREAM";
string header = string.Format("Attachment; Filename = \"{0}\",
Path.GetFilename(fileName));
Response.AppendHeader("Content-Disposition", header);
FileInfo download = new FileInfo(fileName);
Response.Flush();
Response.WriteFile(download.FullName);
}
catch (Exception ex)
{
//Report out any errors.
}
}
the last thing I want to see is some pasty-faced geek with skin so pale that it's almost translucent trying to bump parts with a partner - John Simmons / outlaw programmer
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
wrote: How to invoke a exe file through asp.net application.
One thing i tried is System.Diagnostics.Process.start("exe")....
it is not working...
am doing database file download using that exe.....
1. The executable will be run on the server. Never the client.
2. The exe will be running with the same permissions as the webserver (typically the ASPNET account) - Does this account have the rights to do this?
|
|
|
|
|
ASP code executes on the server not the client. After reading this thread I have no idea what you are doing and it is possible that you don't either.
led mike
|
|
|
|
|
the exe is running in local client and downloading the file from webserver
when i double click it i getting what i need from the server...
but i use the code system.diaganostic.process.start("exe");
it is calling the exe suceesfully but download is not happened and no errors are shown.....
|
|
|
|
|
Trying to run the following console program from a 'Sam's' Learn C# book and getting a bunch of
errors; can anyone see what might be causing these please? (I'm only a C# rookie myself.)
Error 1 A namespace does not directly contain members such as fields or methods
Error 3 Invalid token '7' in class, struct, or interface member declaration
Error 4 Invalid token '9' in class, struct, or interface member declaration
Error 5 Invalid token '10' in class, struct, or interface member declaration
Error 6 Invalid token '11' in class, struct, or interface member declaration
Error 7 Invalid token '12' in class, struct, or interface member declaration
1: // Circle1.cs - Overloading the area method
2: //--------------------------------------------------------------------
3:
4: using System;
5:
6: public class Circle
7: {
8: public int x;
9: public int y;
10: public double radius;
11: private const float PI = 3.14159F;
12:
13: public double Area() // Uses values from data members
14: {
15: return Area(radius);
16: }
17:
18: public double Area( double rad )
19: {
20: double theArea;
21: theArea = PI * rad * rad;
22: Console.WriteLine(" The area for radius ({0}) is {1}", rad, theArea);
23: return theArea;
24: }
25:
26: public double Area(int x1, int y1, double rad)
27: {
28: return Area(rad);
29: }
30:
31: public double Area( int x1, int y1, int x2, int y2 )
32: {
33: int x_diff;
34: int y_diff;
35: double rad;
36:
37: x_diff = x2 - x1;
38: y_diff = y2 - y1;
39:
40: rad = (double) Math.Sqrt((x_diff * x_diff) + (y_diff * y_diff));
41:
42: return Area(rad);
43: }
44:
45: public Circle()
46: {
47: x = 0;
48: y = 0;
49: radius = 0.0;
50: }
51: }
52:
53: class CircleApp
54: {
55: public static void Main()
56: {
57: Circle myCircle = new Circle();
58:
59: Console.WriteLine("Passing nothing...");
60: myCircle.Area();
61:
62: Console.WriteLine("\nPassing a radius of 3...");
63: myCircle.Area( 3 );
64:
65: Console.WriteLine("\nPassing a center of (2, 4) and a radius of 3...");
66: myCircle.Area( 2, 4, 3 );
67:
68: Console.WriteLine("\nPassing center of (2, 3) and a point of (5, 6)...");
69: myCircle.Area( 2, 3, 4, 5 );
70: }
71: }
|
|
|
|
|
I can't see it. You are going to have to provide the line numbers that the compiler is giving.
|
|
|
|
|
Is there an easy way to do that? (It comes out as a big mess if I copy/paste.)
The first error is Line 1, Col 2 for some weird reason. I've actually gotten 18 errors.
|
|
|
|
|
Remove the line numbers with following colon at the beginning of each line.
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rick Cook www.troschuetz.de
|
|
|
|
|
Thanks Stefan! (Just noticed all the examples on cd for Day 8 of Sam's C# in 21 Days have
the same problem.)
On another note, is there a quick and easy way to remove a column of characters, for
future reference? (And to fix the rest of the programs quickly.)
|
|
|
|
|
it might be worth trying sams website, there may be updated working versions of the code available for d/l
Russ
|
|
|
|
|
I copy and pasted the class you posted into Excel and did a text to columns with : separator. I then copy and pasted column B into notepad then from notepad to a New Console application in VS. It did error with "A namespace does not directly contain members such as fields or methods" on compilation.
I looked through the code and noticed Excel had inserted a '0' above the line "class CircleApp". I removed this and it works perfectly.
|
|
|
|
|
Not sure if fiddling about with text to columns would be quicker than
a manual delete - I'm thinking the most efficient way to fix this
and similar problems might be with an Excel VBA macro?
|
|
|
|
|
hi, i just want to ask if there is a way to asign a null value to a variable of type int.
for example i can write this:
<br />
String testingString = null;<br />
while writting this gives an error:
<br />
int testingInteger = null;<br />
The error is: Can not convert null to 'int' because it is a value type
i am using this to assign a null value in database.
meaning the textbox the i take from it the value of the integer is empty i want to insert a null value in the database not an empty cell.
thanks in advance,
|
|
|
|
|
quiteSmart wrote: i just want to ask if there is a way to asign a null value to a variable of type int
If you are using .NET 2.0 you can use nullable types. You just add a question mark to the value type to make it nullable:
int? myVariable = null;
quiteSmart wrote: i am using this to assign a null value in database.
Just remember that when you are assigning null to a database you have to convert it to a System.DBNull.Value
|
|
|
|
|
Because................
String is a reference type and
int is value type........
Parwej Back...............DON of Developer.......
Parwej Ahamad
g_parwez@rediffmail.com
|
|
|
|
|
In a C#
WINDOWS BASED APPLICATION
I have GroupBox,I want to remove its borders or make them invisible whats the way to do it
Ankit Aneja
"Nothing is impossible. The word itself says - I M possible"
|
|
|
|
|
You might want to use a panel instead.
|
|
|
|
|
Or you could override the OnPaint event of the group box and make your custom painting, but this is some kind of hard.
|
|
|
|
|
Not really. But it would be simpler to use a Panel and override the Onpaint to draw the label text.
|
|
|
|
|
Can sm one tell me which on is better from the programmer's point of view, using SIP or H.323 or the combination of these, considerig feasibility aspect in wireless communication?
|
|
|
|