Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Sharepoint/SQL] connecten via Windows Authentication?

Pagina: 1
Acties:
  • 142 views sinds 30-01-2008
  • Reageer

  • Bint
  • Registratie: Juli 2002
  • Laatst online: 17:32
Ik ben op dit moment bezig om een webpart te maken die data uit een SQL database haalt. Tot nu toe ging alles altijd goed, omdat ik maar onder één account werkte. Nu wilde ik met een andere account inloggen op de sharepoint site, maar nu krijg ik een error dat er geen connectie met de database kan worden gemaakt. Wat er gebeurt is denk ik het volgende:

* User logged in
* er wordt een connectie met sqlserver 2005 gemaakt om de data op te vragen.
* met het account waarmee is ingelogged, wordt ook ingelogd op de site.
* normaal gesproken gebruikte ik een account die ook toegang had tot de database, nu dus niet.
* user kan niet connecten, omdat deze useraccount geen toegang heeft tot de database, dus een foutmelding.

Kan ik niet op een of andere manier een generiek account opzetten dat met de database connect vaniut mijn webpart? Zodat ik dus niet afhankelijk ben van de user die is ingelogd?

PS: ik heb gegoogled, maar ik zou niet weten op welke termen ik precies moet zoeken. Impersonation misschien?

[ Voor 5% gewijzigd door Bint op 11-10-2007 11:01 ]

Memories of yesterday, will grow, but never die


  • MaZo
  • Registratie: Mei 2002
  • Niet online
Waarom maak je voor je webpart niet gewoon gebruik van de account waaronder je portal's application pool draait?

[ Voor 29% gewijzigd door MaZo op 11-10-2007 11:02 ]


  • Bint
  • Registratie: Juli 2002
  • Laatst online: 17:32
MaZo schreef op donderdag 11 oktober 2007 @ 11:02:
Waarom maak je voor je webpart niet gewoon gebruik van de account waaronder je portal's application pool draait?
omdat ik aan de hand van de user account moet bepalen welke items iemand wel en niet mag zien. Maar ik wil wel één en dezelfde account gebruiken om te kunnen connecten met een database. Kan ik misschien op een of andere manier de account van de applicationpool gebruiken om mee in te loggen op die database?

Memories of yesterday, will grow, but never die


  • MaZo
  • Registratie: Mei 2002
  • Niet online
Geef de account waaronder de application pool draait rechten op de SQL database, en impersonate deze vervolgens vanuit je code.

[ Voor 4% gewijzigd door MaZo op 13-10-2007 21:21 ]


  • Bint
  • Registratie: Juli 2002
  • Laatst online: 17:32
Ja bedankt,

ik had dit al gevonden, maar toch bedankt. En ik had nog geen tijd gehad om de oplossing hier te posten. Maar ik heb het nog net op een andere manier opgelost:

ik heb microsoft single signon service aangezet, en via de sharepoint central administration een nieuwe app aangemaakt die via een special sql-user op de database kan inloggen. Hier kun je een bepaalde groep gebruikers aan hangen die toegang hebben om via die user in te loggen.

als je nu Microsoft.Sharepoint.Portal.Singlesignon als namespace toevoegt, kun je via
C#:
1
2
string[] creds;
Credentials.GetCredentials(1, "appName", ref creds);

de login gegevens van de singlesignon service gebruiken. Als de user die deze code runt bij de group hoort die je had toegewezen aan dit account, krijg je username // password en die kun je gebruiken om te impersonaten.

Memories of yesterday, will grow, but never die