WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Kombinera Joomla med ASP.NET-applikation (https://www.wn.se/forum/showthread.php?t=34509)

etanders 2009-01-16 21:23

Jag funderar över bästa sätt att kombinera Joomla med en ASP.NET-applikation. Googlade lite på ämnet men har inte hittat så mycket av intresse än. (Det hela kommer att ligga på en Windowsserver som kan köra både .NET och php, så den biten är inget problem.)

Joomla sköter det som visas på den publika hemsidan samt administrationen av det innehållet. Vad jag nu vill är att lägga till en wrapper på en sida för registrerade Joomlaanvändare och där baka in .NET-applikationen. Den ska hantera intern information och administration av det, och har inget samband med Joomla mer än att jag skulle vilja ha samma inloggning och gränssnitt som Joomla, så att det blir enkelt för användarna.

En naturlig väg är förstås att skriva egna komponenter och/eller moduler till Joomla. Jag har gjort lite sånt tidigare, men numera arbetar jag nästan uteslutande i C# och skulle mycket gärna vilja kunna göra det även i detta läge. (OT: Visual Studio 2008, ReSharper, NHibernate... underbart att arbeta med jämfört med php... :) )

Jag har alltså kommit så långt i tanken att jag tänker mig att jag lägger en wrapper i Joomla på en sida som bara nås om man är inloggad. Så långt frid och fröjd, men jag vill ju inte att .NET-applikationen ska vara helt öppen om man går direkt till dess url (utanför Joomla). Inte heller vill jag att användarna för ska behöva logga in i Joomla och sedan logga in en gång till när .NET-applikationen visas i wrappern.

Vad tror ni om bästa lösningen för att tala om för .NET-applikationen att man är inloggad i Joomla och alltså behörig även i .NET-applikationen?

crazzy 2009-01-16 22:11

Kolla upp hur joomla håller reda på användarna och gör bara likadant? Du kan ju använda samma databas från asp, eller?

studiox 2009-01-16 22:29

Det bästa är väl att läsa av en session eller cookie om det är samma server. Ett annat alternativ är ju att använda NTML, Joomla har ju stöd för det. Men det förustätter ju att ni har ett AD bakom, vilket jag gissar att ni faktiskt har, men kan ju ha fel :)

Onkelborg 2009-01-17 16:04

Låt php generera ett långt id (tänk guid, långt och omöjligt att gissa sig till, sparas förslagsvis i databasen tillsammans med användaren, samt ett timestamp med giltighetstid) som sedan via en postback skickas till asp.net-sidan (så man slipper att id:t hamnar i url:en.) Asp.net-sidan kan sedan skicka en httprequest till någon php-sida, och då skicka med det här id:t. Den php-sidan kan då sedan tala om ifall id:t är gilitigt, och om så är fallet, vem id:t tillhör. Alternativt kan asp.net-sidan gå direkt emot databasen, men då krävs direkt access till databasen ifrån asp.net, och kolla upp id:t som php skickade.

etanders 2009-01-17 23:55

Tack för tipsen! Nej, studiox, inget AD här. Jo, jag har tillgång till joomlas databas även från .NET-applikationen så att göra något liknande det du föreslår, Onkelborg, är en möjlighet. Kollade också lite i en joomlabok och det verkar gå att göra en plugin som kan triggas vid ett login-event. Kanske kan det också vara användbart. Ska klura lite till och experimentera.

Onkelborg 2009-01-18 00:04

Det du får tänka på är att du måste beakta sannolikheten att t.ex. sessions gör timeout, så en inloggning mot asp.net-systemet ska förslagsvis ske precis när det behövs, inte när man loggar in i joomla


Alla tider är GMT +2. Klockan är nu 16:08.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson