背景 Webアプリのデモをするのに必要となったため、簡単に用意しました。そのためセキュリティ面については深く考慮していません。 実装 以下の2つをsinatraで実装する。 アカウント情報を管理するModel(ここではUserという名前を使用) 1で用意したModelを利用したアカウント作成・ログイン機能 メルアド・パスワードで認証し、認証後はセッションでやりとりする。そんな一般的な方法を採る。 User Modelの作成 ユーザーごとのアカウント情報を管理するModel。DBに対する単純なレコードのCRUDだけでなく、ユーザー認証用メソッドを用意する。パスワードは直接更新できないようにする。削除の時は論理削除にするべきだが今回は入れてない。パスワードの文字数制限もなし。 大まかな仕様 DBにはMongoDBを使用する。mongoidでオブジェクトへマッピングする。 ユーザーの認証はメルア
![sinatraへ簡易アカウント管理機能を追加する - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/c96fd449f6e5624de2d1624f08dcb76a3756cfb2/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9c2luYXRyYSVFMyU4MSVCOCVFNyVCMCVBMSVFNiU5OCU5MyVFMyU4MiVBMiVFMyU4MiVBQiVFMyU4MiVBNiVFMyU4MyVCMyVFMyU4MyU4OCVFNyVBRSVBMSVFNyU5MCU4NiVFNiVBOSU5RiVFOCU4MyVCRCVFMyU4MiU5MiVFOCVCRiVCRCVFNSU4QSVBMCVFMyU4MSU5OSVFMyU4MiU4QiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MjBjYWE5ZGM5ZWU5MjEyMTAzZmI0MjAxNTgyOTE3YzM%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwa2F6dWhpcm80OTQ5JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1lZjdkODdiMzcyNGRhMjIzYmE0MzAwZjMxMmE3NjQyNQ%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D899d765c243f5feecd5f998a26871976)