इसलिए मैं स्पंदन में अपने ऐप पर भूमिका आधारित प्रमाणीकरण लागू करना चाहता हूं। केवल अनुमति वाले उपयोगकर्ताओं को ही इस साइट पर जाना चाहिए। मुझे त्रुटि मिल रही है:
The getter 'documents' isn't defined for the type 'QuerySnapshot<Map<String, dynamic>>'.
Try importing the library that defines 'documents', correcting the name to the name of an existing getter, or defining a getter or field named 'documents'.
क्या कोई यहाँ मेरी मदद कर सकता है?
कोड:
class AutoLoginHandler extends StatelessWidget {
@override
authorizeAccess(BuildContext context) {
FirebaseAuth.instance.currentUser!().then((user) {
FirebaseFirestore.instance
.collection('/users')
.where('uid', isEqualTo: user.uid)
.get()
.then((docs) {
if (docs.documents[0].data.exists) {
if (docs.documents[0].data['role'] == 'admin') {
Navigator.of(context).push(new MaterialPageRoute(
builder: (BuildContext context) => new LehrerMainPage()));
}
}
});
});
}
}
1 उत्तर
इसे इस्तेमाल करे। लेकिन मेरा सुझाव है कि आप भूमिका प्रबंधन एक्सेस के लिए हमेशा कस्टम दावे.
.then((results) {
if (results.size > 0) {
if (results.docs[0].data()['role'] == 'admin')
{
Navigator.of(context).push(new
MaterialPageRoute(
builder: (BuildContext context) => new
LehrerMainPage()));
}
}
}
संबंधित सवाल
नए सवाल
android
एंड्रॉइड Google का मोबाइल ऑपरेटिंग सिस्टम है, जिसका उपयोग प्रोग्रामिंग या डिजिटल डिवाइस (स्मार्टफोन, टैबलेट, ऑटोमोबाइल्स, टीवी, वियर, ग्लास, IoT) को विकसित करने के लिए किया जाता है। एंड्रॉइड से संबंधित विषयों के लिए, एंड्रॉइड-विशिष्ट टैग जैसे कि एंड्रॉइड-इरादे, एंड्रॉइड-गतिविधि, एंड्रॉइड-एडॉप्टर आदि का उपयोग करें। विकास या प्रोग्रामिंग के अलावा अन्य प्रश्नों के लिए, लेकिन एंड्रॉइड फ्रेमवर्क से संबंधित हैं, इस लिंक का उपयोग करें: https: // android.stackexchange.com।