我正在開發一個android應用程序,其中實現了Firebase實時數據庫。現在我想通過電子郵件ID和密碼登錄使用存儲在數據庫中。我知道firebase身份驗證可用於身份驗證,但我想使用實時數據庫登錄,就像我們在Sql或我的SQL中所做的那樣。使用存儲在firebase實時數據庫中的電子郵件登錄
回答
我做到了。首先,我從數據庫中獲取特定電子郵件ID的數據,比比較其密碼,並指定相關的功能做..
Query query = databaseReference.child("users").orderByChild("email").equalTo(txvUsername.getText().toString().trim());
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
// dataSnapshot is the "issue" node with all children with id 0
for (DataSnapshot user : dataSnapshot.getChildren()) {
// do something with the individual "issues"
UsersBean usersBean = user.getValue(UsersBean.class);
if (usersBean.password.equals(txvPassword.getText().toString().trim())) {
Intent intent = new Intent(context, MainActivity.class);
startActivity(intent);
} else {
Toast.makeText(context, "Password is wrong", Toast.LENGTH_LONG).show();
}
}
} else {
Toast.makeText(context, "User not found", Toast.LENGTH_LONG).show();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
謝謝..
我假設你知道如何使用ValueEventListener,onDataChange方法和Datasnapshot。
如上所述,您希望像SQL或MySQL中那樣做。因此,我不會使用電子郵件,而是使用用戶名和密碼。
您可以在不使用Firebase身份驗證的情況下對您的用戶進行身份驗證。但是,這不建議用於數據庫安全。
{
"userList": {
"JRHTHaIsjNPLXOQivY": {
"userName": "userA",
"password": "abc123"
},
"JRHTHaKuIFIhnj02kE": {
"userName": "userB",
"password": "abc123"
}
},
"userAuth": {
"userA": "JRHTHaIsjNPLXOQivY",
"userB": "JRHTHaKuIFIhnj02kE"
}
}
正如您在上面看到的,我已將userName和userId保存在firebase數據庫中。當用戶輸入用戶名和密碼時,應該使用userAuth中的用戶名來讀取userId。一旦獲取了用戶ID,就可以使用它來訪問用戶詳細信息的userList。這是您檢查輸入密碼的地方。
{
"userList": {
"userA": {
"password": "abc123"
},
"userB": {
"password": "abc123"
}
}
}
或者你也可以像這樣認證你的用戶。
好,我得到它,但你能添加代碼爲如何我可以做這些東西.. –
@UpendraShah至於代碼,你可以檢查firebase文檔如何從數據庫中存儲和檢索它。 https://firebase.google.com/docs/database/android/read-and-write – UmarZaii
感謝您的回答。我通過我的方式得到解決方案.. –
- 1. Swift 3 Firebase用戶認證/使用電子郵件密碼登錄數據庫
- 2. 用戶登錄後,Firebase數據庫中的評論電子郵件爲空
- 3. 使用Zend存儲數據庫中加密電子郵件的最佳實踐
- 4. Firebase OSX簡單的用電子郵件登錄/通過奇數
- 5. 在SQL數據庫中存儲電子郵件
- 6. Android Firebase使用電子郵件和密碼登錄
- 7. 如何使用Firebase電子郵件登錄一個片段?
- 8. Gmail使用Codeigniter電子郵件庫時無法登錄
- 9. 使用存儲在數據庫中的電子郵件添加frineds
- 10. 離子-firebase電子郵件和密碼登錄Android中
- 11. 用於存儲億次電子郵件的數據庫模式
- 12. 在存儲在數據庫中的自動時間發送電子郵件
- 13. 處理和存儲數據庫中的電子郵件
- 14. Firebase實時數據庫驗證用戶名和電子郵件地址
- 15. 如何將ID和電子郵件存儲到數據庫中?
- 16. 從數據庫中存儲和檢索電子郵件正文
- 17. Firebase Android-Studio當登錄電子郵件無法將數據寫入數據庫時
- 18. 當記錄添加到Firebase數據庫時發送電子郵件
- 19. Firebase規則 - 首次登錄時不能存儲用戶數據
- 20. 使用谷歌OAuth2.0從Gmail電子郵件和密碼存儲在數據庫
- 21. Firebase電子郵件+密碼登錄事件未觸發
- 22. 從我的收件箱中存儲的電子郵件創建電子郵件數據庫
- 23. 如何修復我的電子郵件登錄與Angular和Firebase?
- 24. Facebook登錄:使電子郵件強制
- 25. 存儲電子郵件密碼數據庫
- 26. 如何使用Firebase使用電子郵件和密碼進行簡單登錄
- 27. 收件箱郵件存儲在數據庫中或通過真實電子郵件系統?
- 28. 使用Firebase的用戶名簡單登錄(電子郵件/密碼)
- 29. 如何從電子郵件服務器訪問電子郵件並將它們存儲在數據庫中
- 30. 通過App Engine數據存儲中的用戶電子郵件過濾記錄?
感謝哥們!拯救了我的一天:) – Mohammad
歡迎.. :) @Mhamhammad –