Firebaseリアルタイムデータベースを実装したアンドロイドAppを開発中です。そして今、私はデータベースに保存されている電子メールIDとパスワードでログインしたいと思っています。私はfirebase認証が認証に使用できることを知っていますが、私はSqlやSQLのようにリアルタイムデータベースを使ってログインしたいと思います。ファイヤーベースリアルタイムデータベースに格納された電子メールを使用してログイン
答えて
これを行った。まず、私は
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"
}
}
上記のように、私はfirebase dbにuserNameとuserIdを保存しました。ユーザーがユーザー名とパスワードを入力するときは、userAuthのusernameを使用してuserIdを読み取る必要があります。 userIDを取得したら、それを使用してuserListにアクセスしてユーザーの詳細を確認します。ここで入力したパスワードを確認します。
{
"userList": {
"userA": {
"password": "abc123"
},
"userB": {
"password": "abc123"
}
}
}
または、このようにユーザーを認証するだけで済みます。
..オーケーをデータベースから特定の電子メールIDのデータをフェッチし、そのパスワードを比較して行うための関連機能を割り当てるよりも、私はそれを得るが、あなたはどのようにそのためのコードを追加することができます –
@UpendraShahコードに関しては、データベースの保存と取り出しの方法に関するfirebaseのドキュメントをチェックすることができます。 https://firebase.google.com/docs/database/android/read-and-write – UmarZaii
ご回答ありがとうございます。私は私の方法で解決策を得ます。 –
- 1. Asp.net MVC、配列に電子メールの値を格納し、配列で予約されたそれらの電子メールに電子メールを送信する方法
- 2. テーブルに格納された各受信者に電子メールを送信
- 3. 電子メールモジュールで電子メールを設定した後、sugarcrmテーブルに電子メールが格納されている場所はありますか?
- 4. 電子メール本体を格納するためのMySqlフィールドサイズ
- 5. PHPでoauthを使用してユーザの電子メールにログインした方法
- 6. ソーシャルプラグイン、電子メール、携帯電話番号を使用したサインアップとログイン
- 7. フォーマッティングキャリッジリターンを使用したSAS電子メール
- 8. 電子メールgmailを使用したアクティビティクラッシュと電子メールアドレスがホットメールにNULLとして表示される
- 9. Laravel - ユーザーネーム、電子メールまたは電話でログインしてください
- 10. symfony2の認証/ユーザ名の代わりに電子メールを使用したログイン
- 11. NSUserDefaultsを使用して格納されたオブジェクトにアクセスする
- 12. EWS Exchangeを使用して電子メールを作成し、別の電子メールを添付してください。
- 13. MySQL-clusterを使用して格納されたテーブルデータは正確にどこに格納されますか?
- 14. JavamailとDSN.jarを使用してバウンスされた電子メールを解析する
- 15. Rails 4 + Devise電子メールまたはユーザー名と強力なパラメータを使用してログインしてください
- 16. vtext.comに送信された電子メールへの私の電子メールの送信が中止されました
- 17. 電子メールでgithubセッションにログインしました
- 18. 電子メール以外のものを使ったFirebaseのログイン
- 19. 電子メールテンプレートを格納する場所
- 20. ユーザー名か電子メールIDを使用してログインする方法
- 21. Azure B2CでグラフAPIを使用して電子メールでログインする方法
- 22. ASP.NETディレクトリに格納されているセッションファイルを使用してログインした後のASP.NETの安全なダウンロード
- 23. 訓練されたニューラルネットワークを格納して使用する
- 24. Network Solutionsのホスト電子メールを使用したSystem.Netメール設定
- 25. ログインIDを電子メールID(Outlookのctrl + k)に解決する電子メールを送信したい
- 26. 送信された電子メールから送信された電子メールとタイムスタンプをテーブルビューに保存
- 27. thymleafを使用した電子メールの基礎を使用
- 28. 転送によってSQL ServerのOutlookから選択した電子メールを格納する
- 29. Zend:電子メールからのURLでログインした後、ページにリダイレクト
- 30. Office 365でログインが拒否されましたZabbix電子メール通知
ありがとうございました!私の一日を保存しました:) – Mohammad
ようこそ.. :) @モハマド –