Pergunta : Dando a permissão para que o escritor do córrego escreva em C: /movimentação

Olá!, eu estou tentando escrever a um C local: /movimentação using o escritor do córrego. diz que eu não tenho a permissão escrever em c: /movimentação. Há de qualquer maneira ajustar aquele a permissão em meu code. class= > " desobstruído " do
> do " codeSnippet " do class= do
class= " lineNumbers " do
class= do
1:
2:
3:
4:
5:
6:
7:
8:
9:
vácuo notpretty WriteLog da estática do >private " do class= " de " codeSnippet640696 do id= do
        
class= do

Resposta : Dando a permissão para que o escritor do córrego escreva em C: /movimentação

Grande.

aprovação aqui nós vamos.

Etapa 1.

Criar um cliente local em seu username do PC: filewriter e senha: FileWriter1 (ou algo você fantasia).

Etapa 2.

Dar que as permissões do usuário ao Read/Write/executam na movimentação de C ou em um dobrador a que você escreverá seu registro. (Que eu acredito deve ser a maneira. Um dobrador a que esse cliente de usuário terá o acesso e não a movimentação da raiz C).

Etapa 3.

Criar uma lima nova da classe e o nome é Security.cs

Adicionar o código a essa classe


1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
using o sistema;
using System.Runtime.InteropServices;
using System.Security.Principal;
using System.Security.Permissions;

segurança pública da classe
{

    tokenHandle confidencial de IntPtr = IntPtr novo (0);

    impersonatedUser confidencial de WindowsImpersonationContext;

    [DllImport (“kernel32.dll”)]
    bool extern de estática CloseHandle (punho de IntPtr);

    Chicote de fios  de teste de //.
    //  se você incorpora este código em um DLL, seja certo exijir FullTrust.
    [PermissionSetAttribute (SecurityAction.Demand, nome = “FullTrust”)]
    bool público ImpersonateStart (sDomainName da corda, username da corda, senha da corda)
    {
        returnValue do bool;
        newId = zero de WindowsIdentity;
        tentativa
        {
            tokenHandle = IntPtr.Zero;
            Chamada  LogonUser de // para obter um punho a um símbolo do acesso.
            returnValue = falso;
            const int LOGON32_PROVIDER_DEFAULT = 0;
            o parâmetro de //This faz com que LogonUser crie um símbolo preliminar.
            const int LOGON32_LOGON_INTERACTIVE = 2;

            returnValue = LogonUser (username, sDomainName, tokenHandle da senha, do LOGON32_LOGON_INTERACTIVE, do LOGON32_PROVIDER_DEFAULT, da referência);

            verificação de // se início de uma sessão bem sucedido
            se ((== do returnValue falso))
            {
                o int ret = Marshal.GetLastWin32Error ();
                lance System.ComponentModel.Win32Exception novo (ret);
            }
            mais
            {
                Início de uma sessão de // sucedido
                Uso que  de // o punho simbólico retornou por LogonUser.
                newId = WindowsIdentity novo (tokenHandle);
                impersonatedUser = newId.Impersonate ();
            }
        }
        prendedor (exceção ex)
        {
            ex = zero;
            returnValue = falso;
        }
        finalmente
        {
            se (! (zero do == do newId))
            {
                newId.Dispose ();
                newId = zero;
            }
        }
        returnValue do retorno;
    }

    [PermissionSetAttribute (SecurityAction.Demand, nome = “FullTrust”)]
    público ImpersonateStop vago ()
    {
        tentativa
        {
            Batente  de // que impersonating o usuário.
            impersonatedUser.Undo ();
            //  livra os símbolos.
            se (tokenHandle! = IntPtr.Zero)
            {
                CloseHandle (tokenHandle);
            }
        }
        prendedor (retorno de System.Exception)
        {
        }
    }

    [DllImport (“advapi32.dll”, SetLastError = retificam, CharSet = CharSet.Unicode)]
    bool extern de estática público LogonUser (lpszUsername da corda, lpszDomain da corda, lpszPassword da corda,
        o dwLogonType do int, dwLogonProvider do int, referência IntPtr phToken);

}
Outras soluções  
 
programming4us programming4us