14 messaggi dal 09 settembre 2010
Prima di tutto, porgo un saluto a tutti, rigranziando fin d'ora del tempo che mi verrà dedicato.
Sto sviluppando un'applicazione che utilizza il meccanismo integrato di autenticazione di asp.net. Tutto funziona, nel senso che silverlight accede alla pagina e al servizio solo se l'utente fornisce le credenziali corrette.
Ora viene il problema, nella mia applicazione ovviamente, vi sono utenti e ruoli, quindi alla creazione di un utente, si dovrebbero anche creare le credenziali d'accesso.
Questo comporta l'uso dell'oggetto Membership, che però non è presente in silverlight.
Mi è venuto in mente di aprire una pagina aspx per la creazione dello user, dentro un qualche oggetto silverlight nella pagina silverlight che crea l'utente (vi sono altri dati che non sono contemplati nelle tabelle standard, e comuque volevo evitare che l'utilizzatore si trovi di fronte interfacce eterogee), ma pare questa strada sia praticabile solo con l'oggetto webbrower, il quale si può usare se l'applicazione è out of browser.
Allora ho pensato di aprire un popoup:
HtmlPage.Window.Navigate(new Uri("http://www.google.it",UriKind.Absolute),"_blank","top=10, left=10, resizable=yes, status=no, menubar=no, toolbar=no, scrollbar=yes,location=no,directories=no,copyhistory=no");


La cosa funziona, mi piacerebbe però sapere da qualcuno più esperto di me (sono un neofita), se esiste un metodo più elegante.

Un altro metodo che ho trovato è il seguente:
HtmlElement iframe = HtmlPage.Document.GetElementById("Iframe1");
iframe.SetAttribute("src", "http://www.google.it");


Ovviamente nella pagina del plagin abbiamo un iframe con id Iframe1
ma questo metodo non mi consente di modificare l'attributo style, nel senso che a runtime solleva un'eccezione ("accesso negato"). Perché??

Secondo voi, la strada di scrivere direttamente nelle tabelle usate dall'oggetto Membership, è praticabile? Se si come?

Rinnovo i saluti e i ringraziamenti.
Ciao, ho capito poco quello che hai chiesto...

Counque alla fine (sempre se ho capito giusto) a te serve aprire una nuova finestra dove metter dentro l'accesso alle risorse. Ecco forse questo potrebbe fare al caso tuo (sono un neofita anch'io di silverlgiht)

http://blogs.msdn.com/b/marcde/archive/2009/12/15/aprire-una-nuova-finestra-di-browser-con-silverlight.aspx

mi dirai com'è andata...!

Creazione Siti Vicenza
Posizionamento Siti - SEO
14 messaggi dal 09 settembre 2010
Grazie Riccardo del link e scusami se sono stato poco chiaro. In effetti, nel tentativo di essere sintetico ho detto troppe cose, e fatto troppe domande. Ti ringrazio molto, poiché il tempo dedicato agli altri è un dono per chi lo riceve, visto che chi lo dona non è obbligato a farlo.
Ho visto il link ed è il metodo che avevo trovato anche io (cfr. il primo spezzone di codice).
L'applicativo che sto sviluppando funziona con delle pagine aspx che si occupano della autenticazione (chi sei) e autorizzazione (cosa puoi fare) con la pagina in cui è contenuto il plagin di silverlight. Aspx ha un meccanismo che gestisce tutto in automatico, però attraverso pagine aspx.
Per la pagina di autenticazione non c'è problema, uno accede all'URL del sito, si autentica e viene rendirizzato alla pagina aspx che contiene l'applicazione silverlight.
Dopo questo però ci sono operazioni (creazione di nuovi utenti con le loro credenziali e il cambio password) che vengono effettuate mediante pagine aspx. La domanda è questa:
ci sono dei metodi per aprire queste pagine da silverlight in modo da evitare una navigazione etorogenea?

Le risposte trovate sono:

1) quella che hai anche suggerito tu
2) manipolare un iframe contenuto nella pagina dove si ospita il plagin di silvelight poiché da silverlight hai accesso alla pagina e quindi agli elementi che contiene (getElementById). Questo però ha il problema che non permette di modificare alcune proprietà.
Ho provato ha settare con un SetAttribute la proprità style (per renderlo visibile o invisibile all'occorrenza)del tag iframe e mi restituisce un errore (accesso negato).

Quindi le domande erano due:

1) c'è un metodo più elegante?
2) perchè non posso modificare lo style dell'iframe da silverlight mentre posso modificare la proprietà src?

Grazie ancora...
thule ha scritto:
Ti ringrazio molto, poiché il tempo dedicato agli altri è un dono per chi lo riceve, visto che chi lo dona non è obbligato a farlo.


Ma figurati! il concetto di forum è proprio questo, ricevere e dare! io per primo ho ricevuto tanto e ora che comincio a capirci un pochino se posso cerco di aiutare!

Ora tornando al tuo problema, non sono molto ferrato con silverlightad essere sincero, e pensavo ti bastasse avere un "filtro" (la pagina aspx che ti fa loggare) ad una determinata risorsa/pagina...

Nel tuo cao, mi fai capire che hai la gestione dei ruoli, etc utilizando un Db, giusto?

Creazione Siti Vicenza
Posizionamento Siti - SEO
14 messaggi dal 09 settembre 2010
Si è in sqlserver, viene creato in automatico da visual studio, quando inserisci i controlli aspx per l'autenticazione.
La cosa è comoda, poiché tutta la questione relativa all'autenticazione e autorizzazione, viene gestita attraverso degli oggetti che fanno tutto da soli.
Poi l'uso dei roles, permette di gestire autorizzazione, in modo da stabilire cosa i vari utenti possano fare mostrando o no parti della pagina.
Di fatto non hai bisogno di accedere alla base dati, poiché ci pensa l'oggetto membership.
Tutto questo con aspx ma in silverlight è più complesso poiché non hai l'oggetto essendo sul server. Ma piano piano si arriverà alla soluzione.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.