C# 更改特定用户、ASP.Net、webforms的登录路径

C# 更改特定用户、ASP.Net、webforms的登录路径,c#,asp.net,sql-server,webforms,C#,Asp.net,Sql Server,Webforms,我最近开始在另一个开发者创建的网站上工作(他已经不在公司里了,所以不能问他) 在该站点上,用户有几种不同的帐户类型,因此当用户登录时,用户会进入两个指定的登录起始页之一 有些用户有两种帐户类型。在这种情况下,我想制作一个包含两个startpage选项的下拉列表(我们称它们为a和b) 如果他们从ddl中选择选项a),a-startpage将是该用户的永久startpage,直到用户将其更改为b,然后b将是该特定用户的永久startpage 该项目由C#、ASP.NET、Webforms和MS SQ

我最近开始在另一个开发者创建的网站上工作(他已经不在公司里了,所以不能问他)

在该站点上,用户有几种不同的帐户类型,因此当用户登录时,用户会进入两个指定的登录起始页之一

有些用户有两种帐户类型。在这种情况下,我想制作一个包含两个startpage选项的下拉列表(我们称它们为a和b)

如果他们从ddl中选择选项a),a-startpage将是该用户的永久startpage,直到用户将其更改为b,然后b将是该特定用户的永久startpage

该项目由C#、ASP.NET、Webforms和MS SQL组成

我非常感谢任何能引导我走向正确方向的建议

/S

至少有两种可能的解决方案需要很少的努力:

  • 用户系统上的cookie:在访问系统进行 第一次(或在系统更改或浏览器cookies清除后) 应用程序将用户带到下拉页面,让用户选择 首选登录起始页。在随后的访问中,从cookie中读取选择,然后将用户转发到预期页面
    IMHO最大的优点是不需要对后端结构进行任何更改,前端的更改也很小。
    注意:不要相信你得到的 阅读cookie并始终仔细检查页面是否建议 实际上,用户允许使用cookie。
  • 用户的属性:用户选择保存在用户的配置文件中,并在后续访问时读取。
    这种方法需要在后端进行一些更改,因为必须向用户实体和工具(存储过程、方法等)添加新属性必须创建与该新属性交互所需的信息。
    此解决方案需要较少或不需要检查/验证,因为信息存储在服务器端,因此您可以“盲目”重定向到登录起始页

没有一个“正确”的解决方案,因为它主要取决于你被允许做什么和你的技能。
你是否愿意改变后端的结构?
你更了解的是后端还是前端开发?
哪一个更容易改变
在开发有利于这些方法之一的方法时,有什么政策/指导方针需要遵循吗?

所以最后我像这样解决了这个问题

首先,我在db(member/user)表中创建了一个名为“changesite”的int(allows null)列,以便使用members id

然后我将其连接到dropdownlist,在这里成员/用户可以选择他们的起始页(在我的例子中,我使ddl仅对成员可见,如果他们是同时拥有两个用户帐户的用户类型)

如果用户选择第一个选项,则数据库中会保存1,第二个选项会保存2。(此方法可用于任何数量的起始页)

然后在.cs文件中,用户被重定向到他们指定的起始页,这就像创建一个if,else语句一样简单,使用changesite的值作为标识符

基本上,如果列changesite的值==null,则不执行任何操作。如果changesite==1,则重定向到第一个起始页,否则重定向到第二个起始页


对于保罗的投入,我非常感谢。

我做了更多的前端开发,所以这是我最舒服的(我也可以访问服务器端)但是,由于我对这个系统比较陌生,我更喜欢在了解所有细节之前在服务器端进行尽可能少的更改,因此我认为cookie方法是适合这种情况的最佳方法,因为cookie方法可能适合您:仅前端更改。让我再次强调一个事实,即由于应用程序将依赖于从客户端读取的信息,因此不能盲目信任信息,即使一切都在内部网或受信任的环境中运行^^^^^^非常好,我们将研究安全方面。如何保存用户并在cookie中指定其登录页面?好吧,这是一个好问题,我也会研究一下:)