Toon posts:

[ASP]niet genoeg functionaliteit, welke (OO)techniek dan?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben nu bezig met een rechtenmodule.
Hierin wil ik gebruik maken van classes. Eerst
was mijn idee om classes op slaan in een session maar helaas kan dit dus niet.
Je kan er idd omheen werken maar ik wil dit eigenlijk niet en ben op zoek naar een techniek waamee je dus wel "vastigheid" van gegevens hebt.
Tevens wil ik gebruik maken van inheretance e.d. oftwel een goede OO techniek
of een techniek die via ASP te benaderen is. Een compleet nieuwe techniek zoals
bijv .NET sta ik ook helemaal voor open.

Mijn ervaring in talen zijn: Delphi / Java / C++ / C / PHP / ASP

Het moet komen te draaien op een windows server.
Jullie hoeven zeker niet met uitwerkingen te komen van je moet het zo en zo
gaan doen, maar ik hoop dat ik aan de hand aan een paar ideeen van jullie ik in ce goede richting kan zoeken. (er zijn tenslotte zoveel technieken en ik zou niet weten welke voldoet aan mijn wensen)

Dus als het bijv kan in ASP.NET (wat ik dus niet weet of het kan, vandaar dit topic),
dat je dan even vermeld van ik zou ASP.NET kiezen omdat...

Om even een beeld te krijgen waarmee ik nu bezig ben:


Afbeeldingslocatie: http://bierfotos.nl/foto/classes.jpg

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:58

gorgi_19

Kruimeltjes zijn weer op :9

Om toch verder te gaan met ASP.Net.. Kijk eens naar Role-Based Security. Dit kan gedaan worden in combinatie met Windows Authentication of Forms Authentication.
Je koppelt dan een aantal rollen aan een user. Vervolgens controleer je of een rol aan een user gekoppeld is. Zo ja, dan uitvoeren, zo nee, dan niet.. :)

[ Voor 34% gewijzigd door gorgi_19 op 26-11-2002 23:14 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
misschien even handig om te weten:
Ik ben nu toevallig bezig met een rechtenmodule. Maar in het vervolg wil ik bijv
ook complete andere modules gaan maken die OO zijn(die wel gebruik maken van de rechtenmodule natuurlijk). Dus de techniek moet niet alleen voor een rechtenmodule inzetbaar zijn.

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Als ik jou was zou ik dan inderdaad verder gaan met asp.net. Dit is totaal OO. Je zou ook aan jsp kunnen denken want dat is ook totaal OO( Java ). Ik zou zelf echter kiezen voor ASP.NET omdat ik vooral de template engine erg mooi vind ( ik hou er zelf niet zo van om me met de layout bezig te houden :) )

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Topicstarter
en in asp.net blijven de classes dus bestaan als je een refresh doet, of via een link naar een ander stuk van de website gaat?
Ik heb net trouwens ook ergens gelezen dat je via "oude" asp com objecten kan gebruiken. (weet niet of die persistant zijn..)

[ Voor 34% gewijzigd door Verwijderd op 26-11-2002 23:42 ]


  • mOrPhie
  • Registratie: September 2000
  • Laatst online: 27-08 23:03

mOrPhie

❤️❤️❤️❤️🤍

Het mooie van ASP.NET is ook weer dat je zelf kan kiezen wat de taal van je Code Behind wordt. Als je kiest voor C# (wat ik zou doen, mooie, lekker wegtikkende taal) dan maak je gewoon assemblies (met classes) die uiteindelijk in een bin-dir komen en door de .aspx-files worden ge-include en zodoende functionaliteit houden op server-side applicatieniveau.

Dit geeft als groot voordeel dat je tijdens een implementeren van je functionaliteit gewoon amper door hebt dat je met een webapplicatie bezig bent, en toch OOP aan kan houden, zonder restricties (afgezien van multiple inheritance dan, dat door heel .NET niet ondersteund wordt).

Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.


  • tijn
  • Registratie: Februari 2000
  • Laatst online: 31-07 00:06
Verwijderd schreef op 26 November 2002 @ 23:36:
en in asp.net blijven de classes dus bestaan als je een refresh doet, of via een link naar een ander stuk van de website gaat?
Ik heb net trouwens ook ergens gelezen dat je via "oude" asp com objecten kan gebruiken. (weet niet of die persistant zijn..)
Je kunt je objecten laten bestaan door ze in een session te stoppen. Dit kon met classic asp ook al (COM objecten dus), maar daar werd het ten zeerste afgeraden omdat dat het geheugengebruik van de server tot grote hoogtes kon opstuwen. Het schijnt met asp.net een stuk efficienter te gaan.
Mocht geheugengebruik toch een probleem worden dan zou je kunnen overwegen om je objecten te serializen (naar een file, of een database). Bij het volgende request deserialize je de boel weer en heb je je objecten weer terug (met behoud van state).

Cuyahoga .NET website framework


Verwijderd

Een Class kan je in ASP.NET opslaan in een session context. Zie bijvoorbeeld http://www.15seconds.com/issue/021119.htm
Ik kan je echt ASP.NET aanraden. Heb jaren in ASP gewerkt en was wat huiverig om ASP.NET te gebruiken. Maar is mooie taal waar je nu echt veel mee kan. Visual Studio.NET werkt heerlijk. Debugging werkt makkelijk. Probeer het zeker eens uit. Er is een gratis soort versie van Visual Studio.NET namelijk WebMatrix. Die kan je downloaden op www.asp.net.

Verwijderd

Topicstarter
Verwijderd schreef op 27 November 2002 @ 00:23:
Een Class kan je in ASP.NET opslaan in een session context.
Dus in ASP kan je idd nog geen sessions gebruiken voor het opslaan van classes maar je kan er wel com objecten in opslaan, wat afgeraden wordt. In in ASP.NET kan je wel classes opslaan in sessions als ik het goed begrijp?

Heeft ASP.NET dan sessions anders geimplementeerd dan ASP?

Er werd eerder ook genoemd dat je de code behind bijv in C# zou kunnen doen. Moet ik het dan zo voorstellen dat je dus hierin een heel programma maakt met verschillende classes. Je include dat bijv 1 classe ( de privilegeAdmin bijvoorbeeld) en via deze classe kan je gebruik maken van de functionaliteit die het geheel bied?

En deze classe kan je dan ook weer opslaan in een session? of behoudt je hier de gegevens nadat je op een andere pagina komt op een andere mannier(binnnen dezelfde website)?

[ Voor 38% gewijzigd door Verwijderd op 27-11-2002 09:58 ]


  • Bobco
  • Registratie: Januari 2001
  • Laatst online: 30-10-2023

Bobco

I used to dream about Verona.

Wat jij wilt kan ook in J2EE. Als je gebruik maakt van servlets kun je een HttpSession gebruiken om wat je ook maar wilt in op te slaan. Hier geldt natuurlijk wel hetzelfde voor als met die sessies in ASP: als je veel sessies hebt en je stopt daar veel in dan zal je server een behoorlijke slok geheugen lusten.

Overigens is het misschien wel handig om eerst eens goed te kijken naar de 'standaard' security features van de diverse platformen. Zo heeft J2EE een standaardmechanisme om users wel of geen toegang te geven tot bepaalde resources. Als dat voldoende is voor jouw doel, dan hoef je zelf geen moeite te doen.

Als je toch zelf aan de slag wilt zou ik een SecurityManager (singleton) maken die aan de hand van een userId controleert of een gebruiker een bepaalde functie wel of niet mag gebruiken. Je kunt die SecurityManager gewoon hergebruiken over al je sessies heen. Nadeel is natuurlijk weer dat dat ene object potentieel (erg) vaak aangeroepen wordt.

With the light in our eyes, it's hard to see.


Verwijderd

Topicstarter
er wordt gezegd dat veel gebruik van classes een hele geheugenbrok zal veroorzaken. Is dit alleen het geval als je session+classes gebruikt.
Bedoel indien je classes op je workstatation maakt met een hoofdklasse en hierin een array van user classes(4 atributen / 10 operaties) (stel 40 stuks) dan heb je maar een paar 10 Kb nodig om dit in het geheugen op te slaan?

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

offtopic:
ff ASP in brackets in je topic gezet. Is wel fijn voor 't topicoverzicht

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Bobco
  • Registratie: Januari 2001
  • Laatst online: 30-10-2023

Bobco

I used to dream about Verona.

Verwijderd schreef op 27 November 2002 @ 10:25:
er wordt gezegd dat veel gebruik van classes een hele geheugenbrok zal veroorzaken. Is dit alleen het geval als je session+classes gebruikt.
Bedoel indien je classes op je workstatation maakt met een hoofdklasse en hierin een array van user classes(4 atributen / 10 operaties) (stel 40 stuks) dan heb je maar een paar 10 Kb nodig om dit in het geheugen op te slaan?
Waarom zou je in vredesnaam security operaties door de client laten doen? Volgens mij is dat een slechte filosofie. Met je security policy probeer je toegang tot resources te regelen. Het is het meest logisch om dat te doen op de plek waar je resources staan: de server.

Voor wat betreft geheugengebruik: as je het niet in een sessie stopt moet het over het netwerk verstuurd worden. Als je al die informatie elke keer over de lijn moet sturen kost dat een boel extra bandbreedte.

Overigens lijkt het me dat je nog maar eens wat meer moet lezen over OO. Je hebt het nu over classes die je opslaat. Een class is alleen maar een 'template' voor een object. De objecten doen het echte werk, dat zijn ook de dingen die op een gegeven moment echt 'leven'.

Nogmaals: als je toch zelf security features wilt implementeren zou ik 1 SecurityManager object maken dat aan de hand van een userId en een operatienaam aangeeft of de operatie wel of niet mag worden uitgevoerd. Je slaat het userId dan in de sessie op en geeft die bij elke aanroep van een operatie, samen met de naam van de operatie door aan de SecurityManager. Op die manier hou je je sessies klein en heb je alle security functionaliteit op 1 plek staan.

De SecurityManager kan z'n informatie ergens uit lezen (database of file) of eventueel kun je zelfs hardcoden. Aan de buitenkant laat de SecurityManager maar een method zien. Een stukje Java:
Java:
1
public boolean isOperationPermitted(String operationName, long userId);


edit:
Ik zie nu dat je perse ASP wilt gebruiken. Vergeet mijn geblaat over Java dan maar. Ik was een beetje in de war omdat ik wel had gezien dat je Java kennis had.

[ Voor 6% gewijzigd door Bobco op 27-11-2002 11:24 ]

With the light in our eyes, it's hard to see.


Verwijderd

Topicstarter
Heel dit verhaal staat ook op de serverkant. in het interface script staat bijv:

myPrivAdmin = new clsPrivAdmin
...
if ( myPrivAdmin.CheckPriv(userid, actionId) response.write(link)

Hier heb je dus idd niet zoveel klasses nodig. Maar bij het beheer via een asp website wel omdat je hier alle user en alle privileges wil laten zien.

Maar het is nu toevallig een privilege module. De andere keer is het een heel andere module.

Ben nu vooral op zoek naar een techniek waar de klasses blijven bestaan tijdens de gehele user sessie binnen de website.
Oke classes != object klopt, foutje van mijn kant ... Maar geldt hetzelfde eigenlijk want een object kan je in ASP niet opslaan in een session.

  • whoami
  • Registratie: December 2000
  • Laatst online: 20:46
Verwijderd schreef op 27 november 2002 @ 15:33:
Heel dit verhaal staat ook op de serverkant. in het interface script staat bijv:

myPrivAdmin = new clsPrivAdmin
...
if ( myPrivAdmin.CheckPriv(userid, actionId) response.write(link)

Hier heb je dus idd niet zoveel klasses nodig. Maar bij het beheer via een asp website wel omdat je hier alle user en alle privileges wil laten zien.

Maar het is nu toevallig een privilege module. De andere keer is het een heel andere module.

Ben nu vooral op zoek naar een techniek waar de klasses blijven bestaan tijdens de gehele user sessie binnen de website.
Oke classes != object klopt, foutje van mijn kant ... Maar geldt hetzelfde eigenlijk want een object kan je in ASP niet opslaan in een session.


Een class in ASP of een object in ASP is zelfs != een class of een object. :P
In ASP.NET kan je een object wel in een session opslaan, maar dan mag die class wel geen private members hebben.

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op 27 november 2002 @ 15:36:

[...]


In ASP.NET kan je een object wel in een session opslaan, maar dan mag die class wel geen private members hebben.
een private function is ook een private member of worden alleen attributen bedoeld?
Als het idd functions zijn tja, dan moet alles maar public zijn.

Wat is eigenlijk de reden ervoor dat dit niet toegestaan / kan?

  • whoami
  • Registratie: December 2000
  • Laatst online: 20:46
Hmmm.... Ik denk dat ik eerder een foutje gemaakt heb.
Een object kan je wel in Session bewaren als dat object private members heeft.
* whoami gaat ff een en ander uitzoeken.

* whoami heeft idd 2 dingen door elkaar gehaald. :+

Het zijn webservices/methods die geen custom data types als argument van een functie kunnen meenemen als er niet aan volgende regels voldaan wordt:
- het object dat als argument meegegeven wordt, mag enkel primitieve attributes hebben;
- de attributes van dat object moeten allemaal public zijn. (private attributes en public properties die die attributes gaan gaan wijzigen/manipuleren zullen ook niet werken).

Reden daarvoor is dat het WDSL document van die service niet goed kan gemaakt worden als niet aan bovenstaande regels is voldaan.

[ Voor 62% gewijzigd door whoami op 27-11-2002 16:02 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
als ik het goed begrijp kan je een eigen object van een classe opslaan. Maar als bijv. dat zelfde object een array bezit met inhoud het object user dan kan je het niet opslaan?

  • whoami
  • Registratie: December 2000
  • Laatst online: 20:46
Verwijderd schreef op 27 November 2002 @ 19:26:
als ik het goed begrijp kan je een eigen object van een classe opslaan. Maar als bijv. dat zelfde object een array bezit met inhoud het object user dan kan je het niet opslaan?


M'n bovenstaande uitleg heeft niets te maken met Sessions, maar met Webservices.

https://fgheysels.github.io/


Verwijderd

Topicstarter
ow, kwartje valt.. sorry.. (lange dag op school gehad)

Owja klein vraagje tussendoor :)
Voor ASP.NET aan te kunnen welke software heb ik hiervoor nodig?
Alleen windows 2000 Server of ook nog een apparte module voor 2000?

VS.NET is natuurlijk wel gewenst maar kan ook dat progje pakken op www.asp.net
maar das voor latere zorg

[ Voor 73% gewijzigd door Verwijderd op 27-11-2002 20:39 ]


Verwijderd

Doh! |:( lezen :z (note to self dus heh :P)

[ Voor 151% gewijzigd door Verwijderd op 27-11-2002 20:09 ]

Pagina: 1