最近、簡単な解決策を必要とする問題に遭遇しました。 実際、問題は1つの質問に収まる可能性があります。パスワードを知らずに、またパスワードをリセットせずにユーザーを支援する方法です。
多くのオフィスでは、エラーを再現するために、管理者、プログラマー、およびその他の技術専門家が1C:Enterprise Authenticationを使用しました。 つまり、ユーザーはエラーについて「苦情を申し立て」、専門家がその下に来て、エラーを再現しようとしました。 エラーが発生し、コードで修正しました。
モバイルプラットフォームとモバイルクライアントの開発により、1C:エンタープライズ認証はユーザーによって「ビジー」になります。同期がそれに沿って正確に行われるためです。 つまり、すべてのユーザーがパスワードを漏らしたり、「割り当てられた」パスワードを使用したりするわけではありません。 また、当社のオフィスはモバイルクライアントとの接続を強化しています。 ここで、前述の質問が発生しました。
インターネットを検索したところ、ファイルデータベースまたはサーバーバージョンでパスワードを破る方法の説明がたくさん見つかりました。
ファイルバージョンの場合、権限は必要ありません; * .1CDデータベースビューアーをインストールし、V8USERSテーブルのパスワードを変更するだけで十分です。 パスワードは純粋な形式では保存されず、パスワードハッシュが保存されることに注意してください。 実際、不明なパスワードのハッシュは、既知のパスワードのハッシュに変更されます。 サーバーデータベースの場合、DBAユーザー名を知る必要がありますが、パスワードを変更するのは難しくありません。 しかし、そのようなハッキング後にユーザーに認証エラーを説明する方法は? そして、なぜそのような困難ですか?
また、自分の処理と同じ権限を必要としながら、パスワードを選択する処理を見つけました。 まあ、それはパスワード123または123456でさえ彼女をすばやく拾いますが、パスワードが本物である場合はどうでしょうか? 彼女は私がピックアップする約90日を書いています。 これは門ではありません! パスワードを選択しているときに、ユーザーがパスワードを変更すると、この状況が発生する場合があります。 はい、一度だけ変更することはできません。
一般的に、未知のパスワードのハッシュを目的のパスワードのハッシュに変更し、それを元に戻す小さな処理を提供します。 管理された形式と通常の形式の両方で機能します。 「追加の処理とレポート」を通じて統合でき、処理の説明とともに手順がオブジェクトモジュールに追加されています。
まあ、または「Configuration Extensions」を介して埋め込むことができます-これは非常に便利な機能です。現時点では、サポートから削除せずに処理とレポートを構成に追加できます。 つまり、処理が追加されても、一般的な構成は標準のままです。
動作原理:
ユーザーごとにパスワードハッシュを取得します。
//ユーザーディレクトリアイテムユーザー
ユーザーIB =情報ベースのユーザーFIND BY UNIQUE ID(ユーザー。IBのユーザーID)。
// StoredPasswordValueはパスワードハッシュを保存します
ユーザーパスワード=ユーザーとパスワードパスワード値。
//名前はユーザーログインを保存します
ユーザーログイン=ユーザーと名前;
目的のパスワードを入力して、そのハッシュを取得します。
ユーザーのハッシュを目的のパスワードのハッシュに変更します。
新しいパスワードでログインします。 すべてを元に戻します。
ダウンロードリンクの処理