Domanda

Sto cercando di impostare un "beta privata" per un sito che sto lavorando su. Il sito utilizza aperte ID. Io non voglio che nessuno per sfogliare le pagine, anche se non fanno parte della versione beta. Qual è il modo migliore per attuare questo? Qualche suggerimento?

Ad esempio:

Quando il sito va in diretta, gli utenti andranno a http://www.mydomain.com che sarà non richiede loro di login.

Per la versione beta voglio limitare l'accesso. Gli utenti che vanno a http://www.mydomain.com verrà reindirizzato a una pagina di login. Chiunque tenti di accedere a qualsiasi parte del sito che non è autenticato verrà reindirizzato alla pagina di login.

ho potuto attaccare [Autorizza] attribuisce tutto le mie azioni di controllo, ma che sembra stupido.

È stato utile?

Soluzione

Se si utilizza ASP.NET MVC, è dotato di autenticazione / autorizzazione, fuori dalla scatola. Si dovrebbe essere in grado di usarlo per l'autenticazione di installazione sul tuo sito.

In alternativa si potrebbe impostazioni del server di configurazione app - IIS permette di impostare username / password su un sito specifico è al servizio, indipendentemente da ciò che l'applicazione reale può fare. Se si ha accesso al server app questa potrebbe essere la soluzione migliore.

Se stai usando IIS6, è possibile l'autorizzazione di configurazione facilmente. Fai clic destro sul tuo sito> Proprietà> Scheda Directory di sicurezza> Autenticazione e controllo di accesso> Modifica e inserire un nome utente / pwd di vostra scelta. Fatto.

Altri suggerimenti

La vera domanda è come vengono invitati al beta privata?

Si potrebbe configurare una password che scende un biscotto molto simile serverfault.com fa.

o

Se sai chi si sta invitando: li si potrebbe aggiungere al sistema prima mano utilizzando l'e-mail / login informazioni che si conosce già su di loro (ammesso che li sta invitando via e-mail)

Ho implementato una funzione in un'applicazione web qualche tempo fa dove andiamo la possibilità di bloccare l'accesso al sito web pieno meno che l'utente è un amministratore (che nel nostro caso ha fatto sì che l'account utente è un membro di un gruppo specifico in Active Directory).

E 'stato basato su due cose. In primo luogo, tutte le pagine del web application non ereditate direttamente dalla classe Page, ma da una classe di pagina personalizzata nella nostra applicazione web. In secondo luogo, abbiamo avuto un valore come questo nella sezione appSettings del file web.config:

<add key="adminaccessonly" value="0" />

La classe pagina personalizzata sarebbe verificare che il valore durante il caricamento. Se non fosse stato 0 sarebbe redirect ad una pagina (che non ha ereditato la stessa classe di pagina personalizzata, però) informa l'utente che "il sito non è disponibile in questo momento". Se il valore è 0 la pagina sarebbe caricare come al solito.

In tale applicazione abbiamo usato questo per essere in grado di prendere il sito "non in linea" quando abbiamo implementato una nuova versione, dandoci un po 'di tempo per verificare che tutto era buono prima che abbiamo lasciato nel utenti di nuovo.

Il modo migliore è sistema di inviti (basato sul codice di invito) o manualmente l'accesso conferma dopo creare il profilo nel vostro sistema. imho

In alternativa è possibile ospitare il sito su un server privato, e impostare una VPN per usarlo. A seconda delle risorse e le esigenze questo può essere il modo più semplice e sicuro per fare ciò che si vuole senza modificare il codice di base.

o, in alternativa è possibile utilizzare Apache o IIS per forzare l'autenticazione di accesso al sito web directory. Mantenere le informazioni di autenticazione in .htaccess per un po '.

Anche se si utilizza l'autenticazione id aperta, si può ancora bisogno di qualche forma di meccanismo di autorizzazione. La forma più semplice sarebbe un sistema user-ruoli nel database che assegna ruoli diversi per gli utenti

Nel tuo caso, basta assegnare il ruolo private_beta ai vostri invitati beta privata e garantire il vostro meccanismo di autorizzazione che tutti gli utenti hanno il privilegio private_beta prima di poter continuare.

Se non si desidera fornire l'autorizzazione per il sito pubblico (dove tutti possono fare tutto, una volta autenticato), allora, si può solo bisogno di fare un post-processing rapido-and-dirty (per beta privata solo) sul vostro open_id autenticato agli utenti di controllare la loro fuori un breve elenco (che è possibile memorizzare su un file di testo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top