2011-09-09 68 views
3

喜栈社区成员,最佳实践MVC3

我正在开发下一个MVC3应用,用户有特定的部门,CRUD权限。换句话说,所有用户都可以查看所有部门的数据,但只有特定的用户可以更改任何给定部门的数据。用户部门特权数据保存在数据库的连接表中。

我通常在这种情况下(在PHP中)做的是在登录时创建一个Session变量(一个数组),该变量填充了允许用户编辑的部门的ID。当用户访问编辑功能时,仅用这些特定部门填充下拉列表。我还填充了一些经常使用的其他会话变量,如用户名和当前时间段(业务季度)的ID。

这种类型的方法是MVC3中的一种好方法,还是更好的替代方法?虽然我认为我将使用表单身份验证和某些特定角色(员工,管理员等),但这些类型的角色太宽泛,无法针对按部门部门的访问,而且我不确定MVC3有一个开箱即用的方法,比我打算做的要好。

感谢您的指导!

回答

0

我在会话中存储了类似的数据(UserId,DepartmentId等),因为它不会为用户更改,而且是少量数据。我认为会议状态对你也是一个很好的方法。

+0

谢谢,我认为这就是我要做的事情,尽管我希望更深入地探索窗体身份验证和配置文件。 – ChemProfMatt

1

我正在使用表单身份验证,添加特定角色,并根据需要进行组合。我不介意为角色设置特定的角色,因为无论如何我都可以将它们组合起来。我仍然可以为更一般的行动发挥广泛的作用。

+0

谢谢,这也有帮助。我想查看更多配置文件,但最终可能会将此与会话变量结合使用。 – ChemProfMatt