summaryrefslogtreecommitdiff
path: root/demos/blog-tutorial/protected/pages/Day3/id/Auth.page
diff options
context:
space:
mode:
Diffstat (limited to 'demos/blog-tutorial/protected/pages/Day3/id/Auth.page')
-rwxr-xr-xdemos/blog-tutorial/protected/pages/Day3/id/Auth.page102
1 files changed, 0 insertions, 102 deletions
diff --git a/demos/blog-tutorial/protected/pages/Day3/id/Auth.page b/demos/blog-tutorial/protected/pages/Day3/id/Auth.page
deleted file mode 100755
index c4728cdf..00000000
--- a/demos/blog-tutorial/protected/pages/Day3/id/Auth.page
+++ /dev/null
@@ -1,102 +0,0 @@
-<com:TContent ID="Main">
-
-<h1>Otentikasi dan Otorisasi</h1>
-
-<p>
-Sebelum kita siap mengimplementasikan halaman pengguna, kita perlu melakukan beberapa pekerjaan guna menghidupkan <a href="http://www.pradosoft.com/demos/quickstart/index.php?page=Advanced.Auth">otentikasi dan otorisasi</a>.
-</p>
-
-<p>
-Kita menambah dua modul ke konfigurasi aplikasi seperti berikut:
-</p>
-
-<com:TTextHighlighter CssClass="source" Language="xml">
-<modules>
- ...TDataSourceConfig and TActiveRecordConfig modules...
-
- <module id="auth"
- class="System.Security.TAuthManager"
- UserManager="users"
- LoginPage="users.LoginUser" />
-
- <module id="users"
- class="System.Security.TDbUserManager"
- UserClass="Application.BlogUser" />
-</modules>
-</com:TTextHighlighter>
-
-<p>
-Modul <a href="http://www.pradosoft.com/docs/classdoc/TAuthManager">TAuthManager</a> mengatur seluruh alur kerja otentikasi dan otorisasi. Ia menggunakan modul <tt>users</tt> sebagai manajer penggunanya (lihat di bawah). Dengan menetapkan properti <tt>LoginPage</tt>, kita menginformasikan manajer otentikasi untuk mengalihkan browser pengguna ke halaman <tt>LoginUser</tt> saat otorisasi gagal. Kami akan menjelaskan bagaimana untuk membuat <tt>LoginUser</tt> dalam subbagian berikutnya.
-</p>
-
-<p>
-Modul <tt>user</tt> adalah kelas <a href="http://www.pradosoft.com/docs/classdoc/TDbUserManager">TDbUserManager</a> yang bertanggung jawab untuk memverifikasi keabsahan pengguna dan memelihara data dasar dalam sesi PHP. Properti <tt>UserClass</tt> diinisialisasi sebagai <tt>Application.BlogUser</tt>, yang menunjukan bahwa manajer pengguna akan melihar kelas <tt>BlogUser</tt> di bawah direktori <tt>protected</tt> (ingat alias <tt>Application</tt> merujuk ke direktori <tt>protected</tt>) dan menggunakannya untuk memelihara data sesi pengguna.
-</p>
-
-<p>
-Seperti yang akan kita lihat dalam bagian nanti, dalam kontrol dan halaman, kita dapat menggunakan <tt>$this->User</tt> untuk memperoleh obyek <tt>BlogUser</tt> yang berisi informasi pengguna yang saat ini mengakses siistem.
-</p>
-
-<p>
-Di bawah ini adalah rincian implementasi dari <tt>BlogUser</tt>. Perhatikan, <a href="http://www.pradosoft.com/demos/quickstart/index.php?page=Database.ActiveRecord">Rekaman Aktif</a> digunakan untuk melakukan query DB. Sebagai contoh, kita menggunakan <tt>UserRecord::finder()->findByPk($username)</tt> untuk mencari kunci primer yang ditetapkan oleh <tt>$username</tt> dalam tabel <tt>users</tt>.
-</p>
-
-<com:TTextHighlighter CssClass="source" Language="php">
-// Sertakan file TDbUserManager.php yang mendefinisikan TDbUser
-Prado::using('System.Security.TDbUserManager');
-
-/**
- * BlogUser Class.
- * BlogUser mewakili data pengguna yang perlu dijaga dalam sesi.
- * Implementasi standar memelihara informasi aturan dan pengguna.
- */
-class BlogUser extends TDbUser
-{
- /**
- * Membuat obyek BlogUser berdasarkan username yang ditetapkan.
- * Metode ini diperlukan oleh TDbUser. Ia memeriksa database
- * untuk melihat apakah username yang ditetapkan ada di sana. Jika ada,
- * obyek BlogUser dibuat dan diinisialisasi.
- * @param string username yang ditetapkan
- * @return BlogUser obyek pengguna, null jika username tidak benar.
- */
- public function createUser($username)
- {
- // gunakan Rekaman Aktif UserRecord untuk mencari username yang ditetapkan
- $userRecord=UserRecord::finder()->findByPk($username);
- if($userRecord instanceof UserRecord) // jika ditemukan
- {
- $user=new BlogUser($this->Manager);
- $user->Name=$username; // setel nama pengguna
- $user->Roles=($userRecord->role==1?'admin':'user'); // setel aturan
- $user->IsGuest=false; // pengguna bukan seorang tamu
- return $user;
- }
- else
- return null;
- }
-
- /**
- * Memeriksa apakah (username, password) yang ditetapkan sudah benar.
- * Metode ini diperlukan oleh TDbUser.
- * @param string username
- * @param string password
- * @return boolean apakah username dan password sudah benar.
- */
- public function validateUser($username,$password)
- {
- // pakai Rekaman Aktif UserRecord untuk mencari pasangan (username, password).
- return UserRecord::finder()->findBy_username_AND_password($username,$password)!==null;
- }
-
- /**
- * @return boolean apakah pengguna ini adalah seorang administrator.
- */
- public function getIsAdmin()
- {
- return $this->isInRole('admin');
- }
-}
-</com:TTextHighlighter>
-
-</com:TContent> \ No newline at end of file