2012-02-13 120 views
0

我必须在AdminUsers.aspx页面中使用UserId(以管理用户激活和解锁帐户)。我已经计划将UserId保存为gridview DataKey。 但问题是,我不知道userId是否可以保存在视图状态并暴露给用户。 UserId有没有任何安全问题?UserId和UserName

感谢名单

回答

2

这听起来像UserID只是你的用户表的主键。因此,我没有看到任何安全问题。内部主键的知识不应该有助于未经授权的访问。

很多数据库使用Identity(int)主键。如果系统的设计可以通过主键完成,那么恶意用户可能会继续尝试数字。

编辑:只是意识到这是标记为asp.net-membership,所以我认为UserID是成员使用的GUID。我仍然不认为这是一个安全问题。这只是一个主键。

2

如果使用HttpContext.Current.User.Identity.Name,则几乎没有安全风险,因为每个用户都有自己的会话。

+0

不,我想在GridView中列出所有用户,所以管理员可以管理它们,而不仅仅是当前登录的用户 – 2012-02-13 14:39:03

+0

现在检查答案。希望这可以帮助... – Pankaj 2012-02-13 14:53:51

0

您可以用加密格式将用户ID保存在数据库中。现在在gridview中你可以有一个隐藏的标签。编辑一个特定的行,你可以访问隐藏的用户ID,并最终解密....