0

问题的总体思路是,如果您可以想象您通常如何在任何给定网站上创建帐户。注册后,您完成的操作将针对您登录的帐户。假设您的登录包含多个帐户,但您希望完成的操作特定于通过下拉菜单选择的单个帐户。

整个站点的所有页面都是相同的,您只需选择对谁完成操作。目前,我将用户名连同我执行的每个操作一起发布,以便我确定要针对谁完成操作。但是我认为有人可能对如何更好地做到这一点并以更清洁的方式获得相同的结果有一些想法?

现在我所做的只是在每个表单的顶部添加一个选择框(在用户导航时重置为默认值。我知道讨厌!)。我不确定某种 Helper 是否是首先拦截所有操作并添加用户名的好解决方案?我应该在哪里维护选择的用户名的当前状态,也许是 cookie 或其他东西?通常只是对什么样的合作伙伴可能最适合这个问题感到困惑。

任何想法将不胜感激!

4

1 回答 1

0

我认为在服务器端检查登录状态并使用标准FormsAuthentication的最佳方法是在User.Identity.Name中拥有您的活动用户名。

所以在登录时你应该设置 auth coockie:

  FormsAuthentication.SetAuthCookie(username, true);

在注销或更改用户时:

  FormsAuthentication.SignOut();

这是非常标准的功能,您可以在 asp.net mvc 3 创建的默认应用程序中看到它。

您可能需要的链接:

于 2012-10-02T08:59:57.323 回答