1

ユーザーがログインして、ログインするとデータベースのレコードを作成/変更できるjavascriptシングルページアプリを作成しようとしています。可能であれば、独自のサーバーサイドスクリプトを使用せず、代わりにParse.com、Kinvey.com、Cloudmine.meなどを使用したいと思います。

私の問題は、これらのサービスにはユーザーログイン機能がありますが、APIキーを使用してアプリに書き込みアクセス権があるかどうかを判断することです。ユーザーがログインすると、書き込みアクセスが許可されないようです。これを実現するために考えられる唯一の方法は、書き込みアクセスAPIキーをユーザーのユーザーデータに保存することです。ログインし、非表示のAPIキーを取得してから、アプリのAPIキーを変更して、そのAPIキーを使用するようにします。これにより、ユーザーは書き込みアクセス権を取得できるようになります。そのAPIキーがネットワーク経由で送信されると、アカウントを削除したりパスワードを変更したりしても、そのユーザーは書き込みアクセス権を持つため、これは明らかに安全ではありません。

おそらく私はこれを間違った方法で行っているので、遠慮なく知らせてください。うまくいけば、これは理にかなっています。ありがとう!

4

2 に答える 2

3

Parse.ACLhttp://www.parse.com/docs/js/symbols/Parse.ACL.htmlを使用して、ユーザーのグループへのアクセスを制限できるはずです

ユーザーごとにアクセスを制御する場合は、ユーザーオブジェクトのカスタムプロパティを維持する必要があります。次に、関数のカスタムプロパティを確認しBeforeSaveRequest()、ユーザーが書き込みアクセス権を持っているかどうかを判断できます:http: //www.parse.com/docs/js/symbols/Parse.Cloud.BeforeSaveRequest.html

于 2013-01-06T07:25:34.263 に答える
0

デフォルトでは、ほとんどのBaaSプロバイダーはコレクションレベルのセキュリティを提供する必要があり、ACL(アクセス制御リスト)を介してエントリごとのセキュリティを提供するプロバイダーもあります。

たとえば、Kinveyには、コレクションレベルのセキュリティにいくつかのバリエーションがあります。http: //devcenter.kinvey.com/html5/guides/security#Collectionlevelpermissions

デフォルトのセキュリティレベルではShared、ユーザーはコレクション内のすべてを読み取ることができますが、自分のアイテムにのみ書き込むことができます。また、セキュリティレベルを使用しPrivateて、自分のアイテムの読み取りと書き込みのみができるようにすることもできます。

セキュリティをよりきめ細かく制御したい場合は、エントリレベルの権限を利用できます:http: //devcenter.kinvey.com/html5/guides/security#Entitylevelpermissions

エントリレベルの権限を使用すると、管理する特定のユーザーまたはユーザーのグループにきめ細かいアクセスを許可できます。ユーザーがエントリ、読み取り、または書き込みに対してどのレベルのセキュリティを持っているかを判断することもできます。制御をさらに細かくする必要がある場合は、ビジネスロジックを利用して独自のセキュリティを作成するための完全なアクセス権があります。

完全開示-私はKinveyのエンジニアです。

于 2013-01-07T18:49:53.593 に答える