在我的应用程序中,管理员可以以其他用户身份登录。如果他以这样的用户身份登录,则应在新选项卡中打开一个新窗口,他将以此用户身份登录。 所以应该打开两个选项卡,一个是管理员登录的位置,另一个是管理员以用户身份登录的选项卡。我不知道我怎么能做到这一点。 控制器:
public class AdminController: Controller
{
Uow uow = new Uow();
public ActionResult Index(AdminViewModel am)
{
am.UserList = uow.RepUser.Get().ToList();
return View(am);
}
public ActionResult LoginAs(int id )
{
var user = uow.RepUser.Get(x => x.UserId == id).FirstOrDefault();
LoginViewModel lvm = new LoginViewModel();
lvm.Username = user.Username;
lvm.Password = user.Password;
Session["User"] = user;
Session["UserID"] = user.UserId;
FormsAuthentication.SetAuthCookie(lvm.Username, false);
return RedirectToAction("Index","Home",lvm);
}
}
查看:
<div>
<table id="customers">
<tr>
<th>Benutzername</th>
<th>Vorname</th>
<th>Nachname</th>
<th>Kläranlage</th>
<th>Aktion</th>
</tr>
@for (int i = 0; i < Model.UserList.Count(); i++)
{
<tr>
@Html.HiddenFor(modelItem =>Model.UserList[i].UserId)
<td>@Html.DisplayFor(modelItem => Model.UserList[i].Username)</td>
<td>@Html.DisplayFor(modelItem => Model.UserList[i].FirstName)</td>
<td>@Html.DisplayFor(modelItem => Model.UserList[i].LastName)</td>
<td>@Html.DisplayFor(modelItem => Model.UserList[i].SewagePlant)</td>
<td>@Html.ActionLink("Log in as ","LoginAs", new {id=Model.UserList[i].UserId},null)</td>
</tr>
}
</table>
谢谢你的帮助