Administrator hesabı: Nerede, ne zaman ve nasıl?

4 Cevap php

Nerede, ne zaman ve nasıl bir özel web sitesi için yönetici hesabı / kullanıcı oluşturmak için?

Peki ben soruyorum o ilk yönetici hesabı / kullanıcıyı oluşturmak için tercih edilen tekniktir şeydir. Benim durumumda bu özel WebApplication için. Ben uygulamayı sahibi olacak hesap / kullanıcı hakkında konuşuyorum ve diğer yöneticileri teşvik / oluşturmak gerekli eğer. Ben bu adam root olabilir sanırım?

Burada diğer web siteleri / WebApplication karşılaşılan bir kaç yolu vardır.

Installation wizard:
You see this a lot in blog software or forums. When you install the application it will ask you to create an administrator user. Private webapplication will most likely not have this.

Installation file:
A file you run to install your application. This file will create the administrator account for you.

Configuration files:
A configuration file that holds the credentials for the administrator account.

Manually insert it into a database:
Manually insert the administrator info into the database.

4 Cevap

When:

Bir önyükleme evrede. Birisi seeds.rb önerdi. Ben şahsen (bana CSV dosyalarını ayrıştırmak için izin bazı addtions ile) bootstrapper gem kullanmayı tercih.

Bu eylem, böyle çağrılan bir komisyon görev oluşturmak için olanak sağlar:

rake db:bootstrap

Bu (örneğin ülkeler listesine veya varsayılan blog formatı, vb gibi) ilk admin kullanıcı, hem de herhangi bir mibzer veri oluşturmak olacaktır. Betik çok esnektir. Bunu bir şifre isteyin yapmak, ya da bunu gibi hissediyorum, bir parola parametre kabul edebilir.

How:

Tüm durumlarda ben kullanıcı izinlerini yönetmek için declarative_authorization kullanın.

Yönetici kullanıcı ona bağlı roller listede 'admin' (veya ne isim seçtiğiniz) adında bir rol dönmelidir. Ben (örn. yöneticiler varsayılan de editörleri) rolü devralma kullanabilirsiniz başlıca nedeni genellikle, kullanıcı başına 1 tek role sahiptir. Bu benim veritabanında ben "ROLE_ID" denilen kullanıcıları için tek bir alan var demektir. Yarattığı ilk olduğu 0, yönetici rolü için genellikle.

Where:

Db içindeki özel bir dosya / önyükleme / users.rb (veya yaml veya csv) aktive yönetici rolüne sahip bir kullanıcı ayrıntılarını belirtir. rake db:boostrap emir dosyayı ayrıştırmak ve buna göre kullanıcı oluşturur.

Burada raylar üzerinde yakut etiketli bkz. RoR muhtemelen / your_app / db altında seeds.rb dosyası kullanabilirsiniz.

Eğer asp.net kullanıyorsanız, ben belki Oracle MSSQL kullanıyorsanız veya kabul edebilirsiniz. Bir yükleme dosyası olarak çalışan bir saklı yordam olması işi olabilir.

Ben bir kez çalıştırdığınızda veritabanına gerekli verileri yükler ve daha sonra çalışacak app önce dosyayı silmek için yükleyici söyler bir install.php dosyasını kullanarak php uygulamaları gördük.

Yani onunla başa çıkmak için üç yol vardır.

Eğer web sitenizde kullanıcı hesapları var (ve ben onları görmek) varsa, yönetici kimlik bilgileri ile yapılandırma dosyası çok garip. Bu çözüm, kimlik doğrulama mantığı büyük bir bölümünü çoğaltmak için sizi zorlar. Iyi veritabanı hesabını tutmak.

Ben senin müşterilerine teslimat değil, kendiniz için bir uygulama hazırlanıyor anlıyorum. Kurulum sihirbazını veya kurulum dosyalarını hazırlamak zaman kaybı gibi görünüyor.

Ben basit yapacağını - sadece ham eki. Artıları: hiçbir ekstra iş, diğer kullanıcılar için aynı kimlik doğrulama mekanizması. Eğer veritabanı göçler çeşit kullanıyorsanız, size daha sonra değiştirebilirsiniz bazı kukla şifre ile root hesabı oluşturmak göç oluşturabilirsiniz.

Installation wizard: - definitvely the best approach. Clean, sure and user-friendly. Should be integrated with application installer.

Installation file: - ok, but only if you have one and only script to run. Having more -> problems and potentially security flaws (all the folks who forget to delete this file after ...)

Configuration files: To avoid. You are demanding user to know PHP, internals of your app, maybe server side configuration (anything above ftp can be "difficult")

Manually insert it into a database: To avoid * 2.

Bugün oldukça bir yükümlülüktür - şifre karma (site belirli tuz ile yani MD5 veya SHA1) kullanıyorsanız ek olarak, son iki çözüm imkansız.