SITECORE MANIA 開発者向け技術ブログ

その他

koga

koga

アカウントがロックされた際の解除方法

今回の記事では「アカウントにロックがかかった際の解除方法」について紹介します。

解除する方法は2種類あります。

今回は使用するバージョンは下記の通りです。

Sitecore:9.0.2

Microsoft SQL Server Management Studio2022:18.12.1

方法1.DBにSQLを流してアカウントのロックを解除する

 

1.Microsoft SQL Server Management Studioを開き、オブジェクトエクスプローラーから画像の①データベースフォルダを開く

2.画像の②のように、対象のDBのCoreを選択する

DBには公開前の記事を保存するmaster、エンドユーザーが参照するweb、アカウント情報が保存されているcoreがあります。

今回はアカウントについての処理を行いたいため、Coreに対してSQLを実行します。

3.画像の③新しいクエリを押下する

4.画像の④のフィールドに下記SQLを張り付ける

Admin以外のアカウントに対して処理を行う場合は、UserNameを変更してください。

PasswordとPasswordSaltはCoreのaspnet_Membershipテーブルに格納されている初期パスワードです。

UPDATE
[aspnet_Membership]
SET
[Password]='qOvF8m8F2IcWMvfOBjJYHmfLABc=',
[PasswordSalt]='OM5gu45RQuJ76itRvkSPFw==',
[IsApproved] = '1',
[IsLockedOut] = '0'
WHERE
UserId IN (
SELECT UserId FROM dbo.aspnet_Users WHERE UserName = 'sitecore\Admin'
)

5.画像の⑤実行を押下し、SQLを実行する

SQLを実行することによりパスワードを初期化します。

初期化後のパスワードは、Sitecoreでデフォルトに設定される「b」になります。

上手くいかない場合は、手順4でパスワードがわかる他のアカウントのPasswordとPasswordSaltをコピーして貼り付けてください。その場合、初期化後のパスワードはコピー元のアカウントのパスワードになります。

参考:SQLを流してアカウントのロックを解除する

方法2.以下の方法でログインして、ユーザマネージャーからアカウントのロックを解除する

1.C:\inetpub\wwwroot\各サイトのフォルダ 配下にUnlock.aspxという名前でファイルを作成する

 

2.作成したUnlock.aspxに、下記コードを張り付けて保存する

<%@ Page Language="C#" AutoEventWireup="true" %>
<%@ Import Namespace="Sitecore.Security.Authentication" %>
<%
    //ログイン
    //ログインしたいアカウントを指定する
   //引数はuserName, persistent, allowLoginToShell
    AuthenticationManager.Login("sitecore\\admin", false, true);
    //sitecore/shellにリダイレクト
    Response.Redirect("/sitecore/shell");
%>

AuthenticationManager.Login()を使用することでSitecoreにログインできます。

AuthenticationManager.Login()では、下記の3つの引数を指定します。

  1. userName
  2. ログインしたいアカウントを指定します。

    Admin以外のアカウントに対して処理を行う場合は、UserNameを変更してください。

  3. persistent
  4. ログイン状態を維持するか設定します。

    persistentがtrueの時、ログイン状態を維持しますが、今回はその必要はないためfalseにします。

  5. allowLoginToShell
  6. サイトへのログインの許可の有無を設定します。

    今回はログインを許可するためtrueにします。

 

3.下記URLにアクセスする(強制的にログイン後の画面に遷移する)

https://各サイトのドメイン/Unlock.aspx

 

4.ログアウト後、通常通り下記URLからログインする

https://各サイトのドメイン/sitecore/login

※それでもログインできるようにならない場合は、3の方法でログイン後、ランチパッドのユーザマネージャーからアカウントのパスワードを変更してください。

 

5. Unlock.aspxを削除する

ファイルが残った状態だとパスワードなしでログインできてしまうため、セキュリティ上良くありません。

ログインできることを確認でき次第、削除してください。

 

参考:ユーザマネージャーからアカウントのロックを解除する

 

ランチパッドからのアカウントのパスワード変更方法

1.ランチパッドからユーザマネージャーを開く

2.下記画像の①でアカウント名を検索する

3.②でパスワードを変更したいアカウントを選択する

4.③のパスワード変更を押下する

.

5.下記画像の①の生成を押下し、パスワードをランダムに生成されたものに変更する

6.②の生成されたパスワードをコピーし、③のフィールドに貼り付ける

7.新しいパスワードに設定したいパスワードを入力する

 

 

アカウントがロックされた際には、これらの方法を試してみてください。

以上です。



※エントリーの内容・画像等は、公開時点での情報に基づきます。
※Sitecoreのバージョンによって実装されている機能が異なります。

この記事を読んだ人はこちらの記事も読んでます

Sitecore導入に関するご相談・資料ダウンロード

導入をご検討・ご依頼の方や、サービスについてご不明点がございましたらお気軽にお問い合わせください。

Sitecoreの運用問題を解決する

既にSitecoreを導入しているお客様向けサービス