Asp.net mvc 如何使用asp.net mvc滥用用户登录

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

我想滥用用户登录

我有两个销售代理: 姓名:SalesAgent123 姓名:汉斯·阿尔伯特

我第一次使用用户名和密码以SalesAgent123身份登录时

然后在SalesAgent123仍然登录的情况下。我想以HansAlbert的身份登录,但这次没有密码和用户名。所以我只想得到用户名。因此将显示:欢迎您

我有一个文本字段,用户可以在其中输入字符串,然后提交(httpPost) 提交字符串。actionmeethod如下所示:

  [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; }
        }