私は人事ソリューションを持っています。最近、データベースの給与に暗号化を適用しました。暗号化と復号化の 2 つの C# 関数を作成しました。
私たちがよく使用するSQLコマンドとプロシージャのSQL SUM、MAX、MIN関数に関する問題に直面しました。
解決策として、データベースで使用する 2 つの sql clr 関数を作成しましたが、問題は、これらの 2 つの clr 関数が、データベースにアクセスできるすべてのボディにアクセス可能であり、これらの関数を使用できることです。
これらの 2 つの clr 関数をさらに複雑にしたいので、呼び出しがアプリケーションからのものでない限り、この関数は機能しないはずだと考えています。接続文字列のアプリケーション名に何かを渡し、clr関数内をチェックすることを考えていました。
事態はさらに複雑になります。唯一の違反は、誰かがアプリケーションを作成して同じ接続文字列を渡した場合です。
何か案が?