Fórum Alteração em pastas com permissão somente leitura - via software #430124
29/11/2012
0
Tenho um sistema que gera alguns documentos (doc, pdf ...) e eu os armazeno em pastas dentro de um servidor.Porém, não existe controle nenhum nas permissões de acesso via rede à estas pastas.Existe um usuário padrão criado em cada terminal (e no servidor) somente para o sistema efetuar o acesso a estas pastas para gravação destes documentos.Eu desejo que os usuários tenham acesso somente leitura destas pastas compartilhadas, e que o sistema tenha acesso de leitura/escrita às mesmas.Penso que teria que fazer uma conexão na rede via software.
É possível realizar essa tarefa? Consigo fazer isso sem um controlador de domínio (eu não sei como configurar um, por isso pretendo achar uma solução sem a utilização do mesmo)?Se sim, como faço essa autenticação de rede via software?
Desde já agradeço.
Rodrigo
Rodrigo Martins
Curtir tópico
+ 0Posts
30/11/2012
Deivison Melo
- Login Integrado ao Active Directory
http://www.activedelphi.com.br/modules.php?op=modload&name=News&file=article&sid=1267
Ou pesquise por impersonificação...
Segue abaixo uma função de impersonificação:
//Inicio
function Impersonificacao(const Usuario, Senha,
Dominio: string): boolean;
var
LogonType: integer;
LogonProvider: integer;
TokenHandle: THandle;
begin
LogonType := LOGON32_LOGON_INTERACTIVE;
LogonProvider := LOGON32_PROVIDER_DEFAULT;
if Trim(Dominio) = '' then
Result := LogonUser(Pchar(Usuario), nil, pchar(senha), LogonType, LogonProvider, TokenHandle)
else
Result := LogonUser(Pchar(Usuario), Pchar(Dominio), pchar(senha), LogonType, LogonProvider, TokenHandle);
if Result then
begin
Result := ImpersonateLoggedOnUser(TokenHandle);
CloseHandle(TokenHandle);
end;
end;
//fim
Gostei + 0
30/11/2012
Rodrigo Martins
Sua dica era exatamente o que eu estava procurando, porém não conhecia o nome "impersonficação".
Problema resolvido!
Gostei + 0
30/11/2012
Deivison Melo
Forte abraço e bons códigos!!!
PS. Estarei encerrando o post!!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)