2009-05-30 7 views
1

J'écris une application vb.net qui se connecte à un db en utilisant la sécurité intégrée. Cependant, je voulais implémenter un écran de connexion afin que l'utilisateur entre son nom d'utilisateur NT et son mot de passe pour la connexion initiale. C'est parce que notre équipe de gouvernance de l'information veut vérifier que quelqu'un d'autre n'utilise pas une machine sans autorisation. En essayant de se connecter initialement en utilisant le nom d'utilisateur et le mot de passe, je peux "vérifier" qu'ils sont bien ceux qu'ils prétendent être et continuer à utiliser le mot de passe intégré.sql server login

En outre, je souhaite créer des rôles de base de données et affecter des noms d'utilisateur NT à ces rôles. Comment puis-je affecter une connexion NT à un rôle de base de données?

Répondre

1

Je suggérerais que votre «équipe de gouvernance de l'information» doit offrir une solution, au lieu de jeter des déchets comme celui-ci. Votre entreprise dispose-t-elle d'un framework (Single Sign On, par exemple) qui serait le bon moyen de lancer des applications?

0

Le problème est le type qui quitte son terminal déverrouillé. Une fois qu'il a fait cela, il peut s'en aller après s'être connecté à votre application.

Whap l'équipe de gouvernance sur la tête avec un éléphant rose duveteux.


Vous pouvez créer une nouvelle connexion de base de données qui est liée à un compte NT comme:

CREATE LOGIN [domain\user] FROM WINDOWS 
    WITH DEFAULT_DATABASE=[YourDb], DEFAULT_LANGUAGE=[us_english] 

Assurez-vous d'ajouter la connexion en tant qu'utilisateur à votre base de données:

use YourDb 
EXEC sp_grantdbaccess 'domain\user' 

Vous peut ajouter un identifiant à un rôle comme:

EXEC sp_addrolemember 'YourRole', 'domain\user' 

Bien sûr, vous pouvez également le faire à partir de Sql Server Management Studio. Cliquez sur Sécurité -> Nouveau -> Connexion pour commencer.