Creare gruppi e utenti da ASP

2 pagine in totale: [1] 2 Avanti >>

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 Avanti >>

Attenzione: Questo articolo contiene un allegato

Contenuti dell'articolo

Commenti
Dai un voto a questo articolo, ci aiuterà a migliorare il nostro sito (1 è il voto minimo, 5 il massimo).

Per procedere al rating dell'articolo devi essere autenticato.

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.


TUTORIALS
TOP TEN ARTICOLI
NOTIFICHE

Iscriviti alla nostra newsletter nuoviarticoli per ricevere e-mail le notifiche!

Indirizzo e-mail:
PROVIDER ASP.NET 2.0

Seleziona il database per avere il web.config pronto per Membership, Roles e Profile API.



IN EVIDENZA
MISC