会话服务器端或客户端(可否访问)?

会话服务器端或客户端(可否访问)?

问题描述:

我在我的Asp.net MVC应用程序的会话中保存了一些基本的用户信息。在那里保存UserGroup并访问它以查看用户是管理员还是普通用户有多安全?会话服务器端或客户端(可否访问)?

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

此外,我使用FormsAuthentication,如果这改变了任何东西。

+0

请注意,模型 - 视图 - 控制器标签是关于模式的问题。 ASP.NET-MVC实现有一个特定的标签。 –

+1

对不起!我仍然没有遵循你的问题。对于标题中的问题,会话数据存储在该用户的服务器中(浏览器会话) – Shyju

+0

是的,那就是我所问的。如果它存储在客户端,可能有编辑它的方法,所以用户可以更改他们的用户信息。不会有问题,我存储FirstName,LastName..etc。但是我想保持有关用户的信息,如果他是普通用户或管理员。如果他可以改变会话,他可以将他的用户组设置为管理员,并做他不允许做的事情,这是不安全的。 –

使用会话存储userInfo不是一件冒险的事情,因为这些信息不会传递到客户端。 UserAccessRights会是你在每次操作时都要检查的内容,所以最好在session中保留它,而不是每次都从DB中检索它。 唯一的问题是,当您的用户权限更新时,您还需要更新会话以反映它。

+0

谢谢,为什么我问,所以当我需要一些基本信息时,我不必一直打电话给DB。再次感谢。 –