我目前正在尝试找出如何最好地为我的应用程序实现管理端。
我有一个用户站点,用户可以在其中登录、自定义他们的个人资料、提交信息等。 我希望管理用户能够登录并能够从用户列表中进行选择。从那里,管理员可以像用户一样为用户提交信息。
Website Start Page > RogerRabbit > Submit Information
Website Start Page > BillyBob > Customize Profile
所以我的问题是:
- 我的页面应该如何布局?
- Web.sitemap 文件应该是什么样子?有没有一种很好的方法来创建站点地图(也许在内存中?)
- 此方法必须使用 session 变量吗?
任何建议或提示都会很棒。
最佳答案
我无法回答您的站点地图问题,但我已经在我们的一个系统上实现了这样的解决方案,我可以通过模拟最终用户来准确地看到他们所看到的内容。我这样做主要是为了排除故障,这样当他们向我报告问题时(例如他们的 View 中缺少某些内容),我可以像他们一样进入并准确了解他们在谈论的内容。
我这样做的方法确实有点粗糙,是在我的数据库中有一个模拟表,其中包含正在模拟的用户的登录名以及他们希望模拟的用户的登录名。
我添加了一些覆盖代码,以便当用户第一次访问该页面(它使用 Windows 身份验证)时,它将检查该用户是否在表中设置了模拟,然后将此用户 ID 放入一个对象中 session 状态。如果没有模拟,它会将实际的用户 ID 放在同一个对象中。
为了防止我像他们一样对用户数据进行操作,该对象中有两个属性,一个用于 logon_name,系统使用该属性进行内容自定义,另一个称为 NameForLog,在以下情况下使用记录任何操作。我所做的所有操作都将被记录为我。
网站上显示用户自定义内容的所有区域都会查看此 session 对象,因此它们将始终使用模拟 ID,从而始终向我显示用户所看到的内容。除了第一页和日志代码之外,它甚至不知道它正在处理的是我。
这不是最干净的解决方案,但对我来说效果很好。
关于asp.net 站点地图管理员查看用户看到的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2106892/