Asp.net mvc 如何使用asp.net mvc滥用用户登录
我想滥用用户登录 我有两个销售代理: 姓名:SalesAgent123 姓名:汉斯·阿尔伯特 我第一次使用用户名和密码以SalesAgent123身份登录时 然后在SalesAgent123仍然登录的情况下。我想以HansAlbert的身份登录,但这次没有密码和用户名。所以我只想得到用户名。因此将显示:欢迎您 我有一个文本字段,用户可以在其中输入字符串,然后提交(httpPost) 提交字符串。actionmeethod如下所示:Asp.net mvc 如何使用asp.net mvc滥用用户登录,asp.net-mvc,c#-4.0,model,controller,actionmethod,Asp.net Mvc,C# 4.0,Model,Controller,Actionmethod,我想滥用用户登录 我有两个销售代理: 姓名:SalesAgent123 姓名:汉斯·阿尔伯特 我第一次使用用户名和密码以SalesAgent123身份登录时 然后在SalesAgent123仍然登录的情况下。我想以HansAlbert的身份登录,但这次没有密码和用户名。所以我只想得到用户名。因此将显示:欢迎您 我有一个文本字段,用户可以在其中输入字符串,然后提交(httpPost) 提交字符串。actionmeethod如下所示: [HttpPost] [SanaValida
[HttpPost]
[SanaValidateAntiForgeryToken]
public ActionResult BalieNr(IEntityListLoadOptions entyOptions, ExtendedSalesAgentInfoModel model, string accountSalesAgentID)
{
SalesAgentLoginInfoModel salesAgentmodel = new SalesAgentLoginInfoModel();
var salesAgents = CommerceFramework.ShopAccounts.GetShopAccounts(entyOptions);
var modelagent = ObjectManager.GetInstance<ExtendedSalesAgentInfoModel>();
Entity SalesAgenWithBaliecodeNr = new Entity();
if (ModelState.IsValid)
{
foreach (var item in salesAgents)
{
ISalesPersonProfile salesAgent99 = CommerceFrameworkBase.SalesPersons.GetSalesPerson("HD");
if (item.ShopAccountType == ShopAccountType.SalesAgent)
{
if (model.Name == "SalesAgent123")
{
var salesAgent = CommerceFramework.ShopAccounts.GetShopAccount(Guid.Parse("8D1E247E-A47B-4683-A14F-37201537C27C"), true);
var shopAccount = DataManager.Get<IShopAccount>(Guid.Parse("8D1E247E-A47B-4683-A14F-37201537C27C"));
if (shopAccount == null)
return HttpNotFound();
if (salesAgent99 != null)
{
break;
}
}
}
}
}
return View();
}
public class SalesAgentLoginInfoModel
{
public SalesAgentLoginInfoModel();
//
// Summary:
// Gets or sets the name.
public virtual System.String Name { get; set; }
}
public interface ISalesPersonProfile : IEntity
{
//
// Summary:
// Email of this Sales person.
string Email { get; set; }
//
// Summary:
// Sales person's code.
string Id { get; set; }
//
// Summary:
// Job Title of the Sales person.
string JobTitle { get; set; }
//
// Summary:
// Name of the Sales person.
string Name { get; set; }
//
// Summary:
// Phone number of the Sales person.
string Phone { get; set; }
//
// Summary:
// Gets or sets the related customer id list related with the sales person.
IList<string> RelatedCustomerIds { get; set; }
}
var-salesAgent
另一个用户。所以这是正确的。但如果我看一下这个方法:
protected override SalesAgentLoginInfoModel CreateSalesAgentLoginInfoModel()
{
var model = ObjectManager.GetInstance<SalesAgentLoginInfoModel>();
model.Name = Shop.ShopAccount.Name;
return model;
}
protected override SalesAgentLoginInfoModel CreateSalesAgentLoginInfoModel()
{
var model = ObjectManager.GetInstance<SalesAgentLoginInfoModel>();
model.Name = Shop.ShopAccount.Name;
return model;
}
IsalPersonProfile如下所示:
[HttpPost]
[SanaValidateAntiForgeryToken]
public ActionResult BalieNr(IEntityListLoadOptions entyOptions, ExtendedSalesAgentInfoModel model, string accountSalesAgentID)
{
SalesAgentLoginInfoModel salesAgentmodel = new SalesAgentLoginInfoModel();
var salesAgents = CommerceFramework.ShopAccounts.GetShopAccounts(entyOptions);
var modelagent = ObjectManager.GetInstance<ExtendedSalesAgentInfoModel>();
Entity SalesAgenWithBaliecodeNr = new Entity();
if (ModelState.IsValid)
{
foreach (var item in salesAgents)
{
ISalesPersonProfile salesAgent99 = CommerceFrameworkBase.SalesPersons.GetSalesPerson("HD");
if (item.ShopAccountType == ShopAccountType.SalesAgent)
{
if (model.Name == "SalesAgent123")
{
var salesAgent = CommerceFramework.ShopAccounts.GetShopAccount(Guid.Parse("8D1E247E-A47B-4683-A14F-37201537C27C"), true);
var shopAccount = DataManager.Get<IShopAccount>(Guid.Parse("8D1E247E-A47B-4683-A14F-37201537C27C"));
if (shopAccount == null)
return HttpNotFound();
if (salesAgent99 != null)
{
break;
}
}
}
}
}
return View();
}
public class SalesAgentLoginInfoModel
{
public SalesAgentLoginInfoModel();
//
// Summary:
// Gets or sets the name.
public virtual System.String Name { get; set; }
}
public interface ISalesPersonProfile : IEntity
{
//
// Summary:
// Email of this Sales person.
string Email { get; set; }
//
// Summary:
// Sales person's code.
string Id { get; set; }
//
// Summary:
// Job Title of the Sales person.
string JobTitle { get; set; }
//
// Summary:
// Name of the Sales person.
string Name { get; set; }
//
// Summary:
// Phone number of the Sales person.
string Phone { get; set; }
//
// Summary:
// Gets or sets the related customer id list related with the sales person.
IList<string> RelatedCustomerIds { get; set; }
}
在登录视图中,我添加了以下内容:
Session["Name"] = salesAgent.ToString();
@model Sana.Commerce.Customization.Account.ExtendedSalesAgentInfoModel
<div class="top-dropdown login">
<div class="opener collapsed">
<span class="login-title">@Sana.SimpleText("Account")</span>
</div>
<div class="summary">
<div class="welcome border-horizontal">
@Sana.SimpleText("Login_Welcome")
<span class="user-name">@Model.Name</span>
<span>@Session["Name"].ToString()</span>
</div>
<a href="@Url.Sana.MyAccount()" class="hyp">@Sana.SimpleText("Login_MyAccount")</a>
<a href="@Url.Sana.RepresentCustomer()" class="hyp">@Sana.SimpleText("ButtonText_RepresentCustomer")</a>
<div class="logout border-horizontal">
<a id="logoutLink" href="@Url.Sana.Logout()" class="arrow-blue">@Sana.SimpleText("Logout_LinkText")</a>
</div>
</div>
</div>
这是:
@Sana.SimpleText("Login_Welcome")
<span class="user-name">@Session["Name"].ToString()</span>
<span>@Session["Name"].ToString()</span>
我编辑这篇文章。谢谢,那么如何覆盖当前登录用户?有人给你小费吗?非常感谢。
public static ExtendedShopAccountManager ShopAccounts
{
get { return (ExtendedShopAccountManager)CommerceFrameworkBase.ShopAccounts; }
}