0
sysadmが顧客名だけを知っている顧客アカウントを使用してaspnet.mvcサイトにログオンできるバックドアを追加する必要があるかもしれません。MembershipProvider.ValidateUserを使用して検証を強制できますか?
aspnet membershipproviderのハッシュパスワードやスーパーユーザーのパスワードを使用するなど、これは可能ですか?
sysadmが顧客名だけを知っている顧客アカウントを使用してaspnet.mvcサイトにログオンできるバックドアを追加する必要があるかもしれません。MembershipProvider.ValidateUserを使用して検証を強制できますか?
aspnet membershipproviderのハッシュパスワードやスーパーユーザーのパスワードを使用するなど、これは可能ですか?
バックドアアクセスを取得する場合は、ユーザーのパスワードを知る必要はありません。ユーザー名だけ。
FormsAuthentication.SetAuthCookie(username, false)
と書いてください。
この機能へのアクセスを制限するようにしてください。たとえば、「認証エージェント」というロールを作成します。バックドアアクセスを実行するコントローラーアクションメソッドでは、「認証エージェント」ロールのユーザーに対してのみ許可するようにしてください。
[HttpPost]
[Authorize("Authentication Agent")]
public virtual ActionResult SignInAs(SignInAsForm model)
{
if (model != null)
{
MembershipUser member = null;
if (!string.IsNullOrWhiteSpace(model.UserName))
{
model.UserName = model.UserName.Trim();
member = Membership.GetUser(model.UserName);
}
if (member == null)
ModelState.AddModelError("UserName", string.Format(
"Username '{0}' could not be found.", model.UserName));
if (ModelState.IsValid)
{
Session["WasSignedInAs"] = User.Identity.Name;
FormsAuthentication.SetAuthCookie(model.UserName, false);
TempData["FlashMessage"] = string.Format(
"Impersonation was successful. You are signed in as {0}.",
model.UserName)
if (!string.IsNullOrWhiteSpace(model.ReturnUrl))
return Redirect(model.ReturnUrl);
return RedirectToAction(FormsAuthentication.DefaultUrl);
}
return View(model);
}
return HttpNotFound();
}
明日お試しいただきありがとうございます。 –
それは完璧に働いた、もう一度ありがとう! –