Creare gruppi e utenti da ASP

di Francesco Lomonaco, in Security & Admin,
  • 0
  • 0
  • 0
  • 1,26 KB
h4>E l'amministratore creò l'account...

Chiunque abbia lavorato, anche marginalmente, alla gestione di NT avrà avuto modo di apprezzare la facilità di utilizzo e la potenza di due noti strumenti integrati per la gestione degli account del database SAM, lo User Manager e il suo fratello maggiore, lo User Manager for Domains.

Esistono comunque altre utility, che interagiscono con il SAM e che offrono la gestione di utenti e gruppi al di fuori degli User Manager, ma la loro difficoltà di utilizzo 'puro' è sicuramente maggiore.

Gli amministratori conoscono bene almeno due di queste utility, incluse nel Resource Kit di NT, che, a partire da comandi posti in file di testo, riescono a svolgere egregiamente molti di quei compiti in genere svolti dagli User Manager: l'Addusers.exe e lo Usertogrp.exe.

L'amministratore non c'è...

Nonostante questi programmi riescano a soddisfare diverse esigenze amministrative legate alla gestione degli account, non sempre però possono essere disponibili all'amministratore di sistema o alle figure delegate all'amministrazione degli utenti e dei gruppi. Inoltre, le stesse figure che riescono a creare e distruggere account con cognizione di causa, possono non essere al momento disponibili.

Può venire in mente allora di volere offrire la gestione degli account anche a chi non vuole, non può, non deve o non sa usare lo User Manager - per non parlare di Addusers - , ma vuole comunque potere aggiungere o, anche, eliminare utenti dal database SAM.

Ancora. Può capitare di volere aggiungere utenti automaticamente, ad es. per la registrazione free online o per altri task che non possono aspettare la disponibilità delle risorse umane 'competenti'.

Una soluzione

Tramite una pagina ASP è possibile sviluppare una semplice e piuttosto sicura interfaccia per la gestione degli account via web, adattabile al contesto in cui sarà utilizzata.

Gli ingredienti base di questa ricetta - da condire opportunamente, ma di certo ghiotta nella sua essenza (si pensi infatti al proliferare di abbonamenti free e di sottoscrizioni online con procedure automatizzate) - saranno semplicemente:

  • un form HTML user-friendly tramite il quale raccogliere i dati
  • il FileSystemObject che li scriverà in file di testo
  • Addusers e Usertogrp che li leggeranno
  • il componente ASPexec di ServerObjects Inc. che, infine, darà una scossa ai due programmi appena citati e li metterà opportunamente in moto.

Il codice

Innanzi tutto si può creare una pagina che richiami se stessa nella fase di submitting. Ovviamente sarà solo una scarna pagina d'esempio e mancheranno i controlli e tutte le implementazioni necessarie che in un contesto reale bisogna utilizzare.

Ci sono molti modi di iniziare una pagina Asp, uno dei quali potrebbe essere:

<%@ enablesessionstate=false %><%option explicit%><%response.buffer=true%>

Vengono dichiarate e inizializzate alcune variabili.

<% 

Dim nomeInserito, cognomeInserito, login, passwd, group

nomeInserito = Request.Form("Nome")

cognomeInserito = Request.Form("Cognome")

login = Request.Form("Username")

passwd = Request.Form("Password")

group = Request.Form("Gruppo")

Dim nomeCompleto

nomeCompleto = nomeInserito & " " & cognomeInserito

%>

Viene svolto un controllo condizionale per valutare se dovrà essere mostrato il form:

<% if nomeInserito = ""  _

  Or _

  cognomeInserito = "" _

  Or _

  login = "" _

   Or _

  passwd = "" _

  Or _

  group= "" _

then %>

Questa è la parte che sarà mostrata nel caso in cui il form non sia stato compilato in ogni sua parte. In questo caso si è scelto di richiamare un file che contiene l'HTML e qualche traccia di codice per valorizzare i campi:

<!-- #include virtual="percorsoDirectory/corpoPagina.asp" -->

Nel caso in cui tutti i campi risultino compilati, sarà invece eseguita la parte seguente dello script:

<% else %>

Viene creata un'istanza del FileSystemObject che servirà a generare appropriatamente i file di testo dai quali Addusers e Usrtogrp ricaveranno i dati.

<%

Dim FileComandi

Set FileComandi = Server.CreateObject("Scripting.FileSystemObject")

 

%>
2 pagine in totale: 1 2

Attenzione: Questo articolo contiene un allegato.

Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata