会话服务器端还是客户端(可访问与否)?

Session server side or client side(accessible or not)?

提问人:Darko Mitic 提问时间:7/25/2016 最后编辑:Darko Mitic 更新时间:7/25/2016 访问量:917

问:

我正在将一些基本用户信息保存在我的 Asp.net MVC 应用程序的 Session 中。将UserGroup保存在那里并访问它以查看用户是管理员还是普通用户的安全性如何?

在运行任何操作之前,我会直接从数据库询问用户是否是管理员,但是,我仍然想知道上述方式是否安全。

另外,我正在使用 FormsAuthentication,如果这改变了什么。

ASP.NET-MVC 会话 客户端服务器

评论

0赞 7/25/2016
请注意,model-view-controller 标签用于解决有关模式的问题。ASP 有一个特定的标记。NET-MVC 实现。
1赞 Shyju 7/25/2016
不好意思!我仍然没有关注你的问题。对于标题中的问题,会话数据存储在该用户的服务器中(浏览器会话)
0赞 Darko Mitic 7/25/2016
是的,这就是我要问的。如果它存储在客户端,可能有一种方法可以编辑它,以便用户可以更改他们的用户信息。我存储 FirstName、LastName 不会有问题。等。但是,如果用户是普通用户或管理员,我想保留有关该用户的信息。如果他可以更改会话,他可以将他的用户组设置为管理员,并执行他不允许做的事情,这是不安全的。

答:

1赞 mongesh madhavan 7/25/2016 #1

使用会话来存储 userInfo 并不是一件有风险的事情,因为这些信息永远不会传递到客户端。 UserAccessRights 将是您在每次操作时都会检查的内容,因此最好将其保留在会话中,而不是每次都从数据库中检索它。 唯一的问题是,当您的用户权限更新时,您还需要更新会话以反映它。

评论

0赞 Darko Mitic 7/25/2016
谢谢,这就是我问的原因,所以当我需要一些基本信息时,我不必一直打电话给 DB。再次感谢。