লগ ইন করা ব্যবহারকারীদের জন্য সকলের জন্য ওয়েবসাইট অক্ষম করুন


11

আমি জানি এটি করার অনেকগুলি উপায় রয়েছে, তবে যখন আমি গভীরভাবে চিন্তা করি, সাইটটির একটি বিশ্বব্যাপী অক্ষম হতে পারে।

আমি চাই যখন কোনও ব্যবহারকারী ওয়েবসাইটে যায়, তারা যেখানেই থাকুক না কেন লগইন পৃষ্ঠায় তাদের পুনঃনির্দেশিত করা হয়। আমি প্রতিটি মেনু আইটেম বা পৃষ্ঠার অন্যান্য অঞ্চলে বিশেষ সেটিংসের প্রয়োজন না পছন্দ করব।

এটি করার কোন সহজ পথ আছে কি? বা একটি দুর্দান্ত দুর্দান্ত প্লাগইন এটি করে? আমার অনুসন্ধানগুলি এখন পর্যন্ত বৃথা গিয়েছে। তবে এটি কেবল জেইডি / গুগলে আমার কীওয়ার্ডগুলির পছন্দ হতে পারে।


আপনার সাইটটি বিশ্বব্যাপী কনফিগারেশনে অফলাইন রাখবেন?
ওয়েব-টিকি

এটি কিছুটা কাজ করবে, তবে সেই বৈশিষ্ট্যটি এর জন্য নয়, তাই আমি ব্যবহারকারীর গোষ্ঠী এবং এর সাথে জড়িত হতে হবে, সুতরাং যেহেতু আমি লগইনের জন্য কঠোর OAuth ব্যবহার করছি (কোনও ব্যবহারকারী নেই) ব্যবহারকারী গোষ্ঠীগুলির মধ্যে এটি যুক্ত করা সহজ নয়।
জর্দান রামস্টাড

উত্তর:


14

এই এক কাজ করবে?

কেবল সদস্য (জেইডি থেকে)

অজানা থাকা অবস্থায় অংশ বা আপনার সম্পূর্ণ ওয়েবসাইট থেকে চোখ দূরে রাখুন। Ptionচ্ছিকভাবে আপনি কোনও আমন্ত্রণ কোডের জন্য বা প্রয়োজন ছাড়াই দর্শকদের সরাসরি আপনার ওয়েবসাইটে নিবন্ধ করার অনুমতি দিতে পারেন।

নিবন্ধিত কেবল (জেডি থেকে)

নিবন্ধিত শুধুমাত্র প্লাগইনটি কেবল নিবন্ধিত ব্যবহারকারীদের জন্য জুমলা সাইটে অ্যাক্সেসকে সীমাবদ্ধ করে।

কোনও অতিথি যখন কোনও জুমলা বিষয়বস্তু অ্যাক্সেস করার চেষ্টা করেন, তাদের লগইন পৃষ্ঠাতে পুনর্নির্দেশ করা হয়।


1
নিবন্ধভুক্তটি কেবল
মনোমুগ্ধকর

5

1) জুমলা বিল্ট-ইন এসিএল ব্যবহার করুন

আমি আপনার দর্শকদের একটি লগইন পৃষ্ঠায় ডিফল্ট করার এবং জুমলা! এর অন্তর্নির্মিত এসিএল নিবন্ধিত ব্যবহারকারীদের ব্যবহার করার পরামর্শ দিচ্ছি।

নিবন্ধিত ব্যবহারকারীদের অনুমতি নিয়ে একটি শীর্ষ-স্তরের মেনু আইটেম সেট করুন - এবং তারপরে সেই গাছের প্রতিটি মেনু আইটেম কেবলমাত্র দৃশ্যমান এবং নিবন্ধিত ব্যবহারকারীদের জন্য উপলব্ধ থাকবে।

জুমলার এসিএলে একটি দুর্দান্ত টিউটোরিয়াল রয়েছে ! ডক্স।

তবে ফাইল এবং নথিগুলি এখনও নিবন্ধভুক্ত ব্যবহারকারীরা (যেমন তাদের সরাসরি লিঙ্ক রয়েছে) দ্বারা ডাউনলোড করা যায় can

এই ক্ষেত্রে, আপনি যদি আকীবা রিলিজ সিস্টেমস বা সোবিপ্রো এর মতো doc দস্তাবেজগুলিকে সুরক্ষা দিতে চান তবে আপনাকে একটি তৃতীয় পক্ষের এক্সটেনশন ব্যবহার করতে হবে।

2) পাসওয়ার্ড সুরক্ষিত ডিরেক্টরি

আপনার সাইটটিকে সুরক্ষিত করার সবচেয়ে সহজ উপায় হ'ল পাসওয়ার্ড আপনার ডিরেক্টরিটিকে .htaccess / এর মাধ্যমে সুরক্ষিত করুন

এটি নিষ্ক্রিয়, তবে আপনি যদি সিপ্যানেল ব্যবহার করেন, উদাহরণস্বরূপ, সুরক্ষা -> পাসওয়ার্ড সুরক্ষিত ডিরেক্টরিতে যান এবং ডিরেক্টরিগুলির নামকরণ করতে ব্যবহারকারীদের যুক্ত করতে বা মুছে ফেলার জন্য উইজার্ডটি ব্যবহার করুন এবং সেই ব্যবহারকারীদের পাসওয়ার্ড সুরক্ষিত ডিরেক্টরিতে নিয়োগ করুন - আপনি প্রতিটি ব্যবহারকারীর একটি অনন্য নাম দিতে পারেন এবং পাসওয়ার্ড

এটি অবাস্তব, তবে সহজ এবং ব্যবহারে বেশিরভাগ ক্ষেত্রে ব্যবহার করা হয় - তবে, আমি আবারও বলছি, এটি সম্ভবত সেরা ব্যবহারের এসিএল এবং যদি ডক্সকে ডাউনলোড থেকে রক্ষা করে তবে একটি তৃতীয় পক্ষের এক্সটেনশন।

আপনি যদি নিজের ফাইল / ডক্সটিকে পাসওয়ার্ড সুরক্ষিত ডিরেক্টরিতে রাখেন তবে সেগুলিও সুরক্ষিত থাকবে - প্রথমে লগইন করার জন্য কোনও ব্যবহারকারীর সেই ডিরেক্টরিটি অ্যাক্সেস করার চেষ্টা করার অনুমতি থাকা দরকার।


3

জুমলা ব্যবহার করে তাদের জন্য একটি এক্সট্রানেট তৈরি করার জন্য আমার কাছে ক্লায়েন্টের অনুরোধ ছিল, যা যথাসম্ভব কঠোরভাবে 'লকডাউন' করতে হয়েছিল। আমি সাইট সেটিং দ্বারা এটা করেছে অফলাইন মধ্যে গ্লোবাল কনফিগারেশন , তারপর ACL এর সম্পাদিত আমার তৈরি 1 কাস্টম ব্যবহারকারী গোষ্ঠী দিতে অফলাইন অ্যাক্সেস অনুমতি নেই।

আপনি লগইন করার জন্য OAuth ব্যবহার করছেন এমন মন্তব্যে আমি লক্ষ্য করছি - এর সাথে সহায়তা করে এমন কিছু এক্সটেনশন ব্যবহারকারীদের স্বয়ংক্রিয়ভাবে কোনও ব্যবহারকারী গ্রুপে যুক্ত করার জন্য কনফিগার করা যেতে পারে, সুতরাং আপনি এই কার্যকারিতাটি তাদের অনুসারে কনফিগার করা গোষ্ঠীতে যুক্ত করতে পারেন উপরোক্ত নির্দেশাবলী

আমি তখন offline.phpআমার টেম্পলেটে ফাইলটিকে ওভাররড করে ডিফল্ট 'এই সাইটটি অফলাইনে আছে' পৃষ্ঠাটির পরিবর্তে, একটি বহির্মুখী-শৈলীর লগইন পৃষ্ঠার মতো দেখায়।


3

আমি @ ব্রায়ানের উত্তরের ভিত্তিতে এর জন্য আমার উত্তর দিতে যাচ্ছি।

কেবল সদস্য প্লাগইনটি খুব আশাব্যঞ্জক দেখাচ্ছে, তাই এ সম্পর্কে কোনও মন্তব্য নেই।

RegisteredOnly প্লাগইন মুক্ত, তবে আমি কোডটি সঙ্গে, অঙ্কিত ছিল না তাই আমি forking এবং এটি পুনরায় লেখা এবং অননুমোদিত কোড সরানোর স্বাধীনতা নিয়েছি।

এগুলি ছাড়াও, আমি সম্প্রদায় বিল্ডার সমর্থনটি সরিয়েছি কারণ .... ভাল ... আমি সম্প্রদায় বিল্ডারকে ঘৃণা করি:

defined('_JEXEC') or die('Restricted access');

class plgSystemRegisteredonly extends JPlugin
{
    public function onAfterRoute() 
    {
        $app   = JFactory::getApplication('site');
        $input = $app->input;
        $user  = JFactory::getUser();

        // Do nothing if in backend or user is logged in
        if ($app->isAdmin() || !$user->guest)
        {
            return;
        }

        // Get the component, view and task
        $option = $input->get('option');
        $view   = $input->get('view');
        $task   = $input->get('task');

        // If user is logging, registering or requesting user/pass, dont redirect
        if (($option == 'com_users') && (($task == 'login') || ($task == 'register_save') || ($task = 'remindusername') || ($task == 'requestreset')))
        {
            return;
        }

        // If user is at login form, registering or recovering user/password, dont redirect
        if (($option == 'com_users') && (($view == 'login') || ($view == 'reset') || ($view == 'remind') || ($view == 'register')))
        {
            return;
        }

        $app->redirect(JUri::base() . 'index.php?option=com_users&view=login', 'You must be logged in to access this site');
    }
}

এটি গিথুবকেও রাখুন: https://github.com/Joomla-StackExchange/registerOlly

আশা করি এটি আপনার কয়েকজনকে সহায়তা করবে


0

ব্যবহারকারীকে লগ ইন করতে বাধ্য করে আপনি নিবন্ধিত সমস্ত মেনু লিঙ্কের অনুমতি সেট করতে পারেন।


1
যেহেতু লগইন ছাড়া অন্য কোনও মেনু আইটেমটি ব্যবহারকারীকে লগ ইন না করে দেখানো হবে না, আমি প্রশ্নে যেমন বলেছি তেমন সম্ভব হলে অতিরিক্ত পদক্ষেপ এড়াতে পছন্দ করব।
জর্ডান রামস্টাড 2'14

1
সদস্যরা আপনার সাইটের ঠিকানায় আঘাত করলে আপনি লগইন পৃষ্ঠায় ডিফল্ট করতে পারেন। তারা লগইন - মেনু আইটেম প্রদর্শিত হবে। অতিরিক্ত পদক্ষেপটি কোথায়? এসিএল এটির জন্য সুন্দরভাবে সেট আপ করেছে।
NivF007

@ NivF007 আপনি প্রতিটি মেনু আইটেম তৈরি করার সময় অতিরিক্ত পদক্ষেপটি "নিবন্ধিত" এ মেনু অ্যাক্সেস সেট করে having সবচেয়ে সহজ সমাধানটি হ'ল "পাবলিক" এ ডিফল্ট না হয়ে ডিফল্ট মেনু অ্যাক্সেস স্তর সেট করতে সক্ষম হবেন। আপনি যদি এটি "নিবন্ধিত" এ ডিফল্ট হিসাবে সেট করতে পারেন তবে কোনও এক্সটেনশানের প্রয়োজন হবে না।
ডেভিড ফ্রিশ্চ

1
@ ডেভিডফ্রিস্ট একটি মেনু লিঙ্ক তৈরির জন্য একটি পরামিতি নির্ধারণ করা ঠিক কাজ নয়। এমন নয় যে আপনি প্রতিদিন নতুন মেনু লিঙ্ক যুক্ত করেন।
অ্যাডাম বি

1
@ অ্যাডামবি যে কাজ করবে! এবং তারপরে দ্বিতীয় স্তরে শুরু করতে মেনু মডিউলটি সেট করুন। আপনি যদি কেবল একটি স্তর চান। আমার মনের মধ্যে একটি বিজোড় সমাধান তবে এটি হওয়া উচিত
ডেভিড ফ্রেটস

-2
$haystack= JURI::current();
$needle = '/login';
$is_login_page = $needle === "" || (($temp = strlen($haystack) - strlen($needle)) >= 0 && strpos($haystack, $needle, $temp) !== FALSE);
if(JFactory::getUser()->guest && !$is_login_page && $_SERVER['HTTP_HOST'] != 'vauler.com' && $_SERVER['HTTP_HOST'] != '127.0.0.1:92')
    $app->redirect('index.php/login');

আপনার বর্তমান টেম্পলেটটির index.php ফাইলটিতে এই কোডটি পেস্ট করুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.