zope.authentication Zope ফ্রেমওয়ার্ক ব্যবহারের জন্য অনুমোদন ধারণার একটি সংজ্ঞা প্রদান করে.
বিস্তারিত নথিপত্র
লগআউট সাপোর্ট
লগআউট সমর্থন একটি সহজ ইন্টারফেস ILogout দ্বারা সংজ্ঞায়িত করা হয়:
& Nbsp; >>> zope.authentication.interfaces ILogout আমদানি থেকে
যে একটি একক 'লগ আউট' পদ্ধতি আছে.
ILogout বর্তমান ব্যবহার, আমরা IAuthentication আত্তীকরণ করে যে একটি সহজ লগ আউট বাস্তবায়ন তৈরি করব আঁকা ILogout একটি IAuthentication উপাদান খাপ খাওয়ানো হয়:
& Nbsp; >>>adapter (IAuthentication)
& Nbsp; ...implementer (ILogout)
& Nbsp; ... বর্গ SimpleLogout (বস্তু):
& Nbsp; ...
& Nbsp; ... Def __init __ (স্ব, প্রমাণীকরণ):
& Nbsp; ... পাস
& Nbsp; ...
& Nbsp; ... Def লগ আউট (স্ব, অনুরোধ):
& Nbsp; ... মুদ্রণ 'ব্যবহারকারী লগ আউট হয়েছে'
& Nbsp; >>> provideAdapter (SimpleLogout)
এবং কিছু একটি প্রমাণীকরণ ইউটিলিটি প্রতিনিধিত্ব:
& Nbsp; >>>implementer (IAuthentication)
& Nbsp; ... বর্গ প্রমাণীকরণ (বস্তু):
& Nbsp; ... পাস
& Nbsp; >>> প্রমাণীকরণ = প্রমাণীকরণ ()
একটি লগ আউট সঞ্চালন করার জন্য, আমরা ILogout করতে প্রমাণীকরণ খাপ খাওয়ানো এবং 'লগ আউট' কল:
& Nbsp; >>> লগ আউট = ILogout (প্রমাণীকরণ)
& Nbsp; >>> logout.logout (TestRequest ())
& Nbsp; ব্যবহারকারী লগ আউট হয়েছে
'NoLogout' নাটক
বর্গ:
& Nbsp; >>> zope.authentication.logout আমদানি NoLogout থেকে
অন্যথায় ILogout অভিযোজ্য হয় না IAuthentication উপাদান জন্য ILogout একটি ফলব্যাক প্রদানকারী হিসাবে নিবন্ধন করা যাবে. NoLogout এর লগ-আউট পদ্ধতি কোন-সমিতি করা হয়:
& Nbsp; >>> NoLogout (প্রমাণীকরণ) .logout (TestRequest ())
লগআউট ইউজার ইন্টারফেস
কিছু প্রমাণীকরণ প্রোটোকল আনুষ্ঠানিকভাবে লগ আউট সমর্থন করে না, কারণ সে লগ ইন একবার একটি ব্যবহারকারী লগ-আউট করার জন্য, এটা সম্ভব হতে পারে না. এই ক্ষেত্রে, এটি একটি লগিং জন্য ইউজার ইন্টারফেস উপস্থাপন অনুপযুক্ত হবে.
লগ আউট সমর্থন সাইট কনফিগার কারণ, Zope নিবন্ধিত যখন, সাইটের লগ-আউট জন্য কনফিগার করা হয়েছে যে ইঙ্গিত করে যে একটি অ্যাডাপ্টারের উপলব্ধ করা হয়:
& Nbsp; >>> zope.authentication.logout আমদানি থেকে LogoutSupported
এটা ILogoutSupported কার্যকরী হিসেবে এই শ্রেণীর নিছক একটি পতাকা হিসেবে কাজ করে:
& Nbsp; >>> zope.authentication.interfaces ILogoutSupported আমদানি থেকে
& Nbsp; >>> ILogoutSupported.implementedBy (LogoutSupported)
& Nbsp; সত্য
& Nbsp; >>> অনুরোধ = বস্তু ()
& Nbsp; >>> ILogoutSupported.providedBy (LogoutSupported (অনুরোধ))
& Nbsp; সত্য
প্রধান শর্তাবলী
প্রধান শর্তাবলী প্রধান উত্স অনুসন্ধানের জন্য ব্রাউজার ইন্টারফেস সমর্থন ব্যবহৃত হয়. তারা মান জন্য টোকেন এবং শিরোনাম প্রবেশাধিকার প্রদান করে. প্রধান শর্তাবলী প্রধান শিরোনাম পেতে একটি প্রমাণীকরণ ইউটিলিটি ব্যবহার করে. কিভাবে এই কাজ করে এর প্রদর্শন একটি প্রমাণীকরণ ইউটিলিটি তৈরি করা যাক:
& Nbsp; >>> বর্গ প্রিন্সিপাল:
& Nbsp; ... Def __init __ (স্ব, আইডি, শিরোনাম):
& Nbsp; ... self.id, self.title = আইডি, শিরোনাম
& Nbsp; >>> zope.interface আমদানি implementer থেকে
& Nbsp; >>> zope.authentication.interfaces IAuthentication আমদানি থেকে
& Nbsp; >>> zope.authentication.interfaces PrincipalLookupError আমদানি থেকে
& Nbsp; >>>implementer (IAuthentication)
& Nbsp; ... বর্গ AuthUtility:
& Nbsp; ... ডেটা = {'জিম': 'জিম ফুলটন', 'Stephan': 'স্টেফান রিখটার'}
& Nbsp; ...
& Nbsp; ... Def getPrincipal (স্ব, আইডি):
& Nbsp; ... শিরোনাম = self.data.get (আইডি)
& Nbsp; ... শিরোনাম কেউ যদি না হয় তাহলে:
& Nbsp; ... ফিরে আসল (আইডি, শিরোনাম)
& Nbsp; ... PrincipalLookupError বাড়াতে
এখন আমরা প্রমাণীকরণ ইউটিলিটি ইনস্টল করতে হবে:
& Nbsp; >>> zope.component আমদানি provideUtility থেকে
& Nbsp; >>> provideUtility (AuthUtility (), IAuthentication)
আমরা তা থেকে একটি দৃশ্য তৈরি করতে পারেন, যাতে আমরা একটি প্রধান উৎস হবে.
& Nbsp; >>> zope.component আমদানি getUtility থেকে
& Nbsp; >>> বর্গ PrincipalSource:
& Nbsp; ... Def __contains __ (স্ব, আইডি):
& Nbsp; ... প্রমাণীকরণ = getUtility (IAuthentication)
& Nbsp; ... চেষ্টা করুন:
& Nbsp; ... auth.getPrincipal (আইডি)
& Nbsp; ... PrincipalLookupError ছাড়া:
& Nbsp; ... মিথ্যা ফিরে
& Nbsp; ... অন্য:
& Nbsp; ... সত্য ফিরে
এখন আমরা একটি পদ দৃশ্য তৈরি করতে পারেন:
& Nbsp; >>> zope.authentication.principal আমদানি PrincipalTerms থেকে
& Nbsp; >>> পদ = PrincipalTerms (PrincipalSource (), কেউ না)
এখন আমরা পদ পদের জন্য জিজ্ঞাসা করতে পারেন:
& Nbsp; >>> শব্দটি = terms.getTerm ('Stephan')
& Nbsp; >>> term.title
& Nbsp; 'স্টেফান রিখটার'
& Nbsp; >>> term.token
& Nbsp; 'c3RlcGhhbg__'
আমরা উপস্থিত না যে একটি শব্দ জন্য জিজ্ঞাসা করুন, আমরা একটি লুকআপ ভুল পান:
& Nbsp; >>> terms.getTerm ('বব')
& Nbsp; ট্রেসব্যাক (সবচেয়ে সাম্প্রতিক কল শেষ):
& Nbsp; ...
& Nbsp; LookupError: বব
আমরা একটি টোকেন আছে, আমরা তার জন্য প্রধান আইডি পেতে পারেন.
& Nbsp; >>> terms.getValue ('c3RlcGhhbg__')
& Nbsp; 'Stephan'
নতুন এই রিলিজে কি:
- zope.component.nextutility অসঙ্গত পরীক্ষার নির্ভরতা কপর্দকশূন্য.
- (ফরোয়ার্ড-সামঞ্জস্য zope.component 4.0.0 সঙ্গে).
- অবচিত প্রতিস্থাপিত zope.component.adapts ব্যবহার.
- অবচিত প্রতিস্থাপিত zope.interface.implements ব্যবহার.
- পাইথন 2.4 এবং 2.5 সমর্থন তুলে.
সমতুল্য zope.component.adapter প্রসাধক সঙ্গে
সমতুল্য zope.interface.implementer প্রসাধক সঙ্গে
আবশ্যক
- পাইথন
পাওয়া মন্তব্যসমূহ না