Automatisch einen Benutzer anlegen

14/03/2009 - 09:31 von Harald Bacik | Report spam
Hallo DG

Folgendes Szenario, dass ich verwirklichen möchte:
Ich habe eine SW geschrieben die auf den MSSQL Server zugreift (seit kurzem
*g*) Dabei hàtte ich gerne zur Registrierung folgendes umgesetzt:
1) User wird angelget - am Besten ist der User gleichzeitig die Email
Adresse (geht das? -Ist bei mySQL nàmlich nicht möglich einen User mit @
anzulegen)
2) Kann ich dem MSSQL Server so konfigurieren, dass er entweder bei einer SP
oder einer Function automatisch eine Mail versendet?
3) Hat jemand Code zur automatischen Generierung von Passwörtern, die per SP
oder Function funktionieren?

DANKE schon im Voraus
 

Lesen sie die antworten

#1 Olaf Pietsch
14/03/2009 - 10:34 | Warnen spam
Hallo Harald,

"Harald Bacik" schrieb im
Newsbeitrag news:
Folgendes Szenario, dass ich verwirklichen möchte:
Ich habe eine SW geschrieben die auf den MSSQL Server zugreift (seit
kurzem
*g*) Dabei hàtte ich gerne zur Registrierung folgendes umgesetzt:
1) User wird angelget - am Besten ist der User gleichzeitig die Email
Adresse (geht das? -Ist bei mySQL nàmlich nicht möglich einen User mit @
anzulegen)



wenn Du User als SQL Server User anlegen möchtest,
CREATE USER (Transact-SQL)
http://msdn.microsoft.com/de-de/lib...73463.aspx
Create a New User in SQL Server
http://www.herongyang.com/jdbc/SQL-...-User.html

Die Mailadresse eines Users ist kein Attribut des SQL Server Users, also in
eigener Tabelle speichern.

Oder man legt die User in der DB mit den erforderlichen Attributen per
Anwendung an und speichert die Daten in einer "normalen" Tabelle in der DB.
Der Zugriff der Anwendung wird per Stored Procedures oder Views gelöst, alle
Datenbankobjekte gehören dem selben Eigentümer, z. B. dbo. Dann braucht ein
User keinen Zugriff auf die Tabellen, weil der Machanismus der Besitzketten
greift:
Besitzketten
http://msdn.microsoft.com/de-de/lib...88676.aspx
Lernprogramm: Besitzketten und Kontextwechsel
http://msdn.microsoft.com/de-de/lib...53640.aspx

Die Anwendung làuft unter einem Pseudo Accout und greift damit auf die
Datenbank zu. Allerdings sollte man beim Design der Anwendnung SQL Injection
beachten, was es zu verhindern gilt.

Wir halten es etwas anders, die User werden im AD (Active Directory)
angelegt, dort wird auch sein Mailadresse gespeichert. Die User werden in
eine NT-Gruppe aufgenommen. Diese NT-Gruppe wird als Login im SQL Server
angelegt und dieses wird in eine Datenbankrolle aufgenommen. Den Mechanismus
der Besitzketten nutzen wir.

SQL Server 2000 SP3 Security Features and Best Practices: SQL Server 2000
Security Model
http://www.microsoft.com/technet/pr...sec01.mspx
(Ist zwar schon etwas àlter, aber in diesem Zusammenhang immer noch
aktuell.)

2) Kann ich dem MSSQL Server so konfigurieren, dass er entweder bei einer
SP
oder einer Function automatisch eine Mail versendet?



sp_send_dbmail (Transact-SQL)
http://technet.microsoft.com/de-de/...y/ms190307(sql.90).aspx

Planen für Datenbank-E-Mail
http://technet.microsoft.com/de-de/...y/ms191442(SQL.90).aspx

Gespeicherte Prozeduren für Datenbank-E-Mail und SQL Mail (Transact-SQL)
http://technet.microsoft.com/de-de/...y/ms177580(SQL.90).aspx

Assistent zum Konfigurieren von Datenbank-E-Mail
http://technet.microsoft.com/de-de/...y/ms175951(SQL.90).aspx

3) Hat jemand Code zur automatischen Generierung von Passwörtern, die per
SP
oder Function funktionieren?



Zufallszahlen, siehe z. B. Beitràge von Elmar:
http://groups.google.com/group/micr...this+group

Zum anderen kann man im SQL Server CLR (common language runtime) Funktionen
hinterlegen, mit denen man z. B. in C# Funktionen des .NET Framework nutzen
kann.
Einführung in CLR-Integration für SQL Server
http://msdn.microsoft.com/de-de/library/ms254498(VS.80).aspx

Gruß Olaf
Ich unterstütze PASS Deutschland e.V. (http://www.sqlpass.de)
Blog (http://www.sqlpass.de/PASSUserBlogs...x?BlogID=3)
Regionalgruppe Köln/Bonn/Düsseldorf
(http://www.sqlpass.de/Regionalgrupp...fault.aspx)

Ähnliche fragen