2

ODBC接続を介してms-sql dbにアクセスしているms-accessアプリケーションがあります。ユーザーにアプリケーション部分のみを介してデータを更新させようとしていますが、データを直接読み取るか、独自のカスタム ms-access db (アドホック レポートの作成に使用する) を介して読み取るかは気にしません。

私が探しているのは、私が配布したコンパイル済みの .mde ファイルを使用している場合にのみ、データを編集可能にする方法です。データを一般集団に対してのみ読み取り可能にし、一部のユーザーに対して編集可能にできることはわかっています。

既定の mde を介してデータにアクセスしている場合にのみ、ms-sql でデータを編集可能にする方法はありますか?

ms-access を別のユーザーとしてデータベースにログインさせる (または接続後にログインを変更する) 方法はありますか?


@Jake、
はい、フォームを使用しています。私がやろうとしているのは、ランチパッド/メインメニューフォームがポップアップしたときに、ユーザーを一度切り替えるだけです。

@Peter、
それは確かに私が向かっている方向です。私が決定していないのは、その 2 番目の ID に切り替える方法です。パスワードが盗聴される心配はありません。ユーザーはすべて内部にいて、内部 LAN 上にあります。彼らがそのパスワードを盗聴できれば、私の特権 ID のパスワードも確実に盗聴できます。

@誰も一般的ではありません
。現在、あいまいさによるセキュリティです。私は、レポートを作成するための特別な .mdb を使用して、データを読み取れるようにしましたが、更新はしませんでした。彼らは、ODBC 接続を介したテーブルへの再リンクについて知りません。ms-access/DB に詳しいユーザーは、私が行ったことを数秒で回避できます。また、自分が DBA であると想像する人も何人かいるので、最終的には理解するでしょう。

4

2 に答える 2

2

内部ユーザーには効果的ですが、ハッキングされる可能性がある方法があります。ユーザーごとに 2 つの ID を作成します。1 つは、読み取り専用アクセス権を持つレポート ID です。これは、ユーザーが知っている ID です: Fred / mypassword

2 つ目は、更新を実行できる ID です。その ID は Fred_app / mypassword_mangled です。彼らは Fred でアプリにログオンします。アプリケーションがデータにアクセスするときは、アプリケーション ID を使用します。

これはスニッフィングできますが、多くのアプリケーションでは十分です。

于 2008-09-08T17:21:04.610 に答える
1

リンクされたテーブルの更新をアプリで許可していますか、それともフォームを使用していますか? 個別の役割を持つ集中化されたユーザーを使用するというあなたの考えは、進むべき道のようです。はい、ユーザーを変更することはできますが、コーディングが増える可能性があり、コードを追加し始めると、他のソリューション (ストアド プロシージャなど) がより魅力的に聞こえるかもしれません。

于 2008-09-08T17:31:28.017 に答える