कोड इग्नाइटर के लिए यूजर अथेंटिकेशन क्लास (उपयोगकर्ता अभिप्रमाणन क्लास)

Pop OS Linux की‌ 5 खास विशेषताएं

Pop OS एक अमेरिकी कम्प्यूटर निर्माता कंपनी System76 द्वारा विकसित किया गया लिनक्स वितरण है। Pop OS...

माइक्रोसॉफ्ट एज प्रिव्यू लिनक्स के लिए डाउनलोड करें

और अंततः माइक्रोसॉफ्ट ने अपने एज ब्राउजर को लिनक्स ऑपरेटिंग सिस्टम के लिए जारी कर दिया. हालाँकि...

वर्डप्रेस के धीमेपन का पता लगाने हेतु 4 बेहतरीन प्लग इन

वर्डप्रेस में जितने प्लग इन डालते जाओ यह उतना ही‌ सर्वर के लिए भारी होता जाता है।...
Ankur Gupta
Ankur Guptahttps://antarjaal.in
पेशे से वेब डेवेलपर, पिछले १० से अधिक वर्षों का वेबसाइटें और वेब एप्लिकेशनों के निर्माण का अनुभव। वर्तमान में ईपेपर सीएमएस क्लाउड (सॉफ्टवेयर एज सर्विस आधारित उत्पाद) का विकास और संचालन कर रहे हैं। कम्प्यूटर और तकनीक के विषय में खास रुचि। लम्बे समय तक ब्लॉगर प्लेटफॉर्म पर लिखते रहे. फिर अपना खुद का पोर्टल आरम्भ किया जो की अन्तर्जाल डॉट इन के रूप में आपके सामने है.

कोड इग्नाइटर के लिए यूजर अथेंटिकेशन क्लास (उपयोगकर्ता अभिप्रमाणन क्लास) 3

मैं एक पीएचपी के वेब सामग्री प्रबंधन तंत्र (Content Management System) को विकसित कर रहा था । उसी के लिए उपयोगकर्ताओं के प्रबंधन हेतु एक उपयोगकर्ता अभिप्रमाणन क्लास(user authentication class) को लिखा। अभी मैंने सोचा कि इसे सभी से साझा करना चाहिए ताकि और लोग भी इसका उपयोग कर सकें| इस क्लास को मैंने मुख्य रूप से कोड इग्नाइटर फ्रेमवर्क में इस्तेमाल करने के लिए लिखा था। आप अपने अनुप्रयोग में इसे आवश्यकता अनुसार परिवर्तित कर सकते हैं। ध्यान रखें कि पूरे अनुप्रयोग में इस क्लास की केवल एक ही “इंस्टेंस” इस्तेमाल की जानी चाहिए।

READ  यूनो प्लेटफार्म के जरिए लिनक्स पर विंडोज कैलकुलेटर ऐप इंस्टॉल करें

ये रही क्लास:

[php]<?php class Authentication{
function __construct() {
//सत्र प्रारंभ करें
session_start();
}

private $_loginpage;
function setLoginPage($loginpage){
//सत्रारंभ हेतु पृष्ठ का निर्धारण करें
$this->_loginpage = $loginpage;
}
function getLoginPage(){
//सत्रारंभ हेतु पृष्ठ का नाम प्राप्त करें
return $this->_loginpage;
}

private $_useracls;
function setUserACLs($a){
//एसीएल अर्थात एक्सेस कंट्रोल लिस्ट इसे आप पद के समान भी मान सकते हैं
//array("admin","author","editor","worker","manager");
$this->_useracls = $a;
}
function requireACL($req_roles){
//यह निश्चित करें कि उपयोगकर्ता के लिए कोई विशेष पद होना आवश्यक है, अन्यथा उसे सत्रारंभ वाले पृष्ठ पर पहुंचा दें
if(!$this->_requireACL($req_roles)){
$this->destroyUserInfo();
redirect($this->_loginpage);
}
}
private function _requireACL($req_roles){
foreach($req_roles as $req_role){
if($this->checkACL($req_role)){
return true;
}
}
return false;
}
function checkACL($role){
//उपयोगकर्ता के पास कोई विशेष पद है अथवा नही यह जांचें
$roles = $this->getUserACLs();
if($roles!=false){
foreach($roles as $r){
if($r == $role){
return true;
}
}
}
return false;
}
function getUserACLs(){
//उपयोगकर्ता के पद प्राप्त करें।
if(isset($_SESSION["roles"])){
return $_SESSION["roles"];
}else{
return false;
}
}
function setUserToken($token){
//उपयोगकर्ता के लिए एक टोकन निर्धारित करें। यह उसका यूजर आईडी, ईमेल या कुछ भी हो सकता है
if(is_array($this->_useracls)){
$_SESSION["token"]=$token;
$_SESSION["roles"]= $this->_useracls;
}else{
$_SESSION["token"]=$token;
}
}
function getUserToken(){
//उपयोगकर्ता का टोकन प्राप्त करें
if(isset($_SESSION["token"])){
return $_SESSION["token"];
}else{
return false;
}
}
function getSessionId(){
//सत्र की पहचान संख्या (आईडी) प्राप्त करें
return session_id();
}
function requireLoggedIn(){
//सत्रारंभ की आवश्यकता को निर्धारित करें
if($this->checkLoggedIn()==false){
redirect($this->_loginpage);
}
}
function checkLoggedIn(){
//जांचे कि क्या उपयोगकर्ता ने सत्र आरंभ किया है अथवा नही?
if($this->getUserToken()==false){
return false;
}else{
return true;
}
}
function destroyUserInfo(){

READ  एंड्रायड को बिना root किए एंड्रायड में hosts फाइलें संपादित करें
READ  एंड्रायड को बिना root किए एंड्रायड में hosts फाइलें संपादित करें

session_destroy();
}
}[/php]

और ये रहा उपयोग का तरीका:

जिस कंट्रोलर के फंग्शन अथवा पूरे फंग्शन को आप सुरक्षित बनाना चाहते हैं उसे कुछ इस प्रकार लिखना होगा।

$this->authentication->setLoginPage(“/login”); //सत्रांभ पृष्ठ का निर्धारण किया।
$this->authentication->requireLoggedIn(); //यह निर्धारित किया कि सत्रारंभ आवश्यक है।
$this->authentication->requireACL(array(“admin”)); //यह निर्धारित किया कि सत्रारंभ किए व्यक्ति के पास “admin” नाम का पद होना आवश्यक है।

यदि आप पूरे कंट्रोलर को ही सुरक्षित करना चाहते हैं तो कंट्रोलर के __construct() फंग्शन में उपरोक्त कोड लिखें।

इस क्लास को उपयोग करने के लिए इसे लाइब्रेरी वाले फोल्डर में रखें और आटोलोड वाली फाइल में इसका नाम लाइब्रेरीज़ वाली एरे में रख दें ताकि यह अनुप्रयोग के शुरू होते ही स्वत: प्रारंभ हो जाए।

Pop OS Linux की‌ 5 खास विशेषताएं

Pop OS एक अमेरिकी कम्प्यूटर निर्माता कंपनी System76 द्वारा विकसित किया गया लिनक्स वितरण है। Pop OS...

माइक्रोसॉफ्ट एज प्रिव्यू लिनक्स के लिए डाउनलोड करें

और अंततः माइक्रोसॉफ्ट ने अपने एज ब्राउजर को लिनक्स ऑपरेटिंग सिस्टम के लिए जारी कर दिया. हालाँकि यह अभी एक प्रिव्यू रिलीज़...

वर्डप्रेस के धीमेपन का पता लगाने हेतु 4 बेहतरीन प्लग इन

वर्डप्रेस में जितने प्लग इन डालते जाओ यह उतना ही‌ सर्वर के लिए भारी होता जाता है। अधिक प्लग इन आदि से...
READ  वर्डप्रेस के धीमेपन का पता लगाने हेतु 4 बेहतरीन प्लग इन

5 बेहतरीन मुक्त स्रोत सॉफ्टवेयर जिन्हे आपको आजमाना चाहिए

आज की इस पोस्ट में हम ५ बेहतरीन मुक्त स्रोत सॉफ्टवेयरों की चर्चा करने जा रहे हैं। इनमें से कई मुक्त स्रोत...

PHP Desktop से पीएचपी से बनाएं‌ डेस्कटॉप अनुप्रयोग

PHP Desktop के जरिए हम अपने पीएचपी पर बने अनुप्रयोग को किसी डेस्कटाप अनुप्रयोग में परिवर्तित कर सकते हैं। और यह एकदम...

More Articles Like This