したがって、私たちが作成しているアプリには、ユーザーが持つことができる特定の特権があり、最初は単純なビットマスクを作成し、各特権を個別のビットとして保存し、最終的な値を DB テーブルに long として保存しました。しかし、今では非常に多くのアクセス許可があるため、値がデータベースに収まりきれなくなりました。long ではなく文字列として格納して変換することもできると思いますが、これが問題に対処する最善の方法であるかどうか疑問に思います。
例: ユーザーは 1-3-5-7 の権限を持っています
彼のセキュリティ値は 2^0 + 2^2 + 2^4 + 2^7 = 149 です。
しかし、100 パーミッションを取得すると、2^99 の計算は高価で、DB テーブルで見るのが難しいように見えるため、このアプローチは少し面倒に思えます (長いテーブルよりも大きいため、文字列として格納する必要があります)。パーミッションの数が非常に多くなり、迅速に機能し、複雑すぎない場合、この問題を解決するための別のアプローチを誰かが持っていますか?