NickemannenMedlem sedan aug. 20003 524 inlägg
Hur kommer jag åt
connectionen som ligger i web.config
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="server=localhost;uid=****;pwd=***;database=intranet;Integrated Security=SSPI;"
cookieless="false"
timeout="480"
/>
??
renholmMedlem sedan apr. 20012 048 inlägg
Du kan lägga den i AppSettings i web.config och sedan hämta den med följande kod
string conString = ConfigurationSettings.AppSettings["ConnectionString"];
För att den ska fungera måste du importera System.Configuration
Så här ska det se ut i web.config
<configuration>
<appSettings>
<add key="ConnectionString" value="server=localhost;Trusted_Connection=true;database=Site; Connection LifeTime=3600;" />
</appSettings>
</configuration>
NickemannenMedlem sedan aug. 20003 524 inlägg
Jo, men det jag skrev är ju standard i web.config filen det
måste ju kunna gå att komma åt den strängen också
renholmMedlem sedan apr. 20012 048 inlägg
Nu pratar vi om olika saker tror jag. Det du ändrar i web.config är för SessionState hanterarn. T.ex om du har flera servrar som delar på belastningen så måste de ha en gemensam källa att spara session informationen på. Det är det som specifieras i den kod du visar. Jag tror att du är ute efter att spara connectionstring för att koppla upp dig mot din egna sql server för att hämta data av något slag. Det görs enklast med mitt exempel. Hoppas jag förstod rätt nu :)
NETworkMedlem sedan juni 20011 679 inlägg
...sen är det väl inte supersäkert att lägga sin connectionstring i webconfig, koden ligger ju öppen, blir det strul med webbservern så... då slår jag än en gång ett slag för registret! En nyckel i registret går definitivt inte att komma åt från nätet lika lätt samtidigt som du har kvar fördelen i att slippa kompilera vid eventuella ändringar. :)
renholmMedlem sedan apr. 20012 048 inlägg
Precis... och detta har vi inte diskuterat förr :)
Fast har man det liggandes på ett webhotell får man dessvärre inte ändra så värst mycket i registret. Men ibland kan man få en mapp som ligger utanför rooten och där kan man då placera en xml fil innehållande connectionstring. Det måste väl vara den lättaste lösningen på ett webhotell.
NETworkMedlem sedan juni 20011 679 inlägg
Precis... och detta har vi inte diskuterat förr :)
Nä, inte en enda gång faktiskt. ;)
renholmMedlem sedan apr. 20012 048 inlägg
SPiNMedlem sedan mars 20005 832 inlägg
Jag bryter mitt löfte, och luftar mina tankar... ;)
där kan man då placera en xml fil innehållande connectionstring.
Det borde vara osäkert också. Man får fram XML-filens namn, och vips får man tag i alla uppgifter genom att skriva in URL:en till den.
Om man gömmer den i affärslagret så blir den mycket svårare att komma åt, om man inte har tillgång till registret då.
NETworkMedlem sedan juni 20011 679 inlägg
nää, inte här: http://www.webforum.nu/showthread.php?s=&threadid=46514
Nää, speciellt inte där. :) I den tråden fick jag inte många anhängare av registret... men jag kan väl hålla med om att xml inte så dumt det heller.
Men vill man vara riktigt, riktigt, riktigt säker så ska man nog kompilera hela rubbet.
SPiNMedlem sedan mars 20005 832 inlägg
Men vill man vara riktigt, riktigt, riktigt säker så ska man nog kompilera hela rubbet.
Det är ju det jag säger hela tiden! Affärslagret = dina bakomliggande komponenter. :)
renholmMedlem sedan apr. 20012 048 inlägg
SPiN skrev:
Jag bryter mitt löfte, och luftar mina tankar... ;)
där kan man då placera en xml fil innehållande connectionstring.
Det borde vara osäkert också. Man får fram XML-filens namn, och vips får man tag i alla uppgifter genom att skriva in URL:en till den.
Om man gömmer den i affärslagret så blir den mycket svårare att komma åt, om man inte har tillgång till registret då.
nej!
"ibland kan man få en mapp som ligger utanför rooten och där kan man då placera en xml fil innehållande connectionstring."
Om inte filen ligger i root katalogen eller en underkatalog kan den inte hämtas via att man skriver in url. Och med root menar jag då att den map där t.ex default.aspx ligger :)
SPiNMedlem sedan mars 20005 832 inlägg
Hm, det är ju ett sätt. Det verkar jag ha struntat i att läsa. :e
NickemannenMedlem sedan aug. 20003 524 inlägg
NETwork kan du förklara hur du lägger in det i registret och hämtar det från registret ?
developerMedlem sedan aug. 2001453 inlägg
Jag håller med om registret som ett lämpligare ställe att lagra lösenordet i (själva connection-stringen i övrigt skulle jag behålla i xml-filen).
Sedan låter man endast IIS:ens användare ha läs-access till den nyckeln. Den som administrerar IIS:en bör väl åtminstone kunna skriva dit.
Vidare använder man CAS (code access security) och låter bara det assembly:t som ska komma åt connectionstring:en ha RegistryPermission dit.
Är lösenordet känsligt så kan man överväga att skydda det med CryptProtectData() innan man lagrar det (vilket är vad Microsoft och andra rekommenderar för "storing secrets"). Lämpligt exempelvis om man connectar till en 3:e part och har ett lösenord dit som man är rädd om. Men nu har jag halkat off-topic.
renholmMedlem sedan apr. 20012 048 inlägg
NETworkMedlem sedan juni 20011 679 inlägg
Det är ju det jag säger hela tiden! Affärslagret = dina bakomliggande komponenter.
Wee, affärslager var ett ord som gick långt över mitt huvud... :stud
NETwork kan du förklara hur du lägger in det i registret och hämtar det från registret ?
Under länken nedan finns ett litet exempel som du kan starta med. Sedan kan du naturligtvis utveckla handhavandet och göra det hur sofistikerat som helst (läs exempelvis Developers inlägg ovan). Behöver du mer hjälp så är det bara att fråga igen. :)
http://www.webforum.nu/showthread.php?s=&threadid=49277
fredrikMedlem sedan dec. 19991 082 inlägg
renholmMedlem sedan apr. 20012 048 inlägg
fredrik skrev:
Själv hävdar jag fortfarande att COM+ är ett mkt bra alternativ....
http://www.webforum.nu/showthread.php?s=&threadid=46514&pagenumber=3#post399776
Har du någon bra URL? Jag är sugen på att bygga en COM+ komponent som hanterar databas kopplingar och hämtar data.
developerMedlem sedan aug. 2001453 inlägg
Visst kan man använda COM+, men vad tillför det egentligen som du inte kan göra med Registry?
Det är mycket besvärligare att göra, installera, konfigurera och administrera en COM+ komponent än att använda Registry eller en XML-fil. Dessutom är det knappast möjligt om man har en hostad miljö.