有很多关于设置asp.net成员资格、角色提供程序等方面的问题(和信息)。无论您是否应该使用微软提供的内置平台,或者扩展基类并自己创建角色。
我决定扩展默认提供程序并实现自己的成员身份验证和角色提供程序。现在,我的问题是围绕角色认证的具体问题。
传统上,您可能会创建诸如“经理、管理员、员工、超级用户”之类的角色。但是对于我认为更精细的控制的权限,您应该怎么做?让我详细说明一下...
在我的asp.net mvc站点中,我有不同的区域,例如管理、管理、消息、报告等。我会为每个区域创建角色,如“管理员”、“经理”、“报告人”等。如果没有适当的角色,您将无法访问该站点的任何区域。因此,我会在类级别上锁定整个控制器。
但现在以一个区域为例; 消息,如果我想要更精细的CRUD操作权限,比如创建消息、查看/读取消息、编辑消息、删除消息等,该怎么办呢?
最后我的问题是,如何最好地实现这种更精细的控制?我看到的一个方法(不确定是否好),是为所有内容创建asp.net成员资格角色。因此,我可能会有...
信使(广泛的角色),CreateMessage,ReadMessage,EditMessage,DeleteMessage。
一方面,我希望某些用户能够阅读/查看消息。但并不一定要创建或删除它们。各个控制器操作可以应用特定的角色。
您是否认为这种方法存在问题?您有更好的想法吗?
目前的解决方案
我已经决定创建自己的架构并实现自定义成员身份验证和角色提供程序。我的架构包括;
- User(用户)
- UserProfile(用户资料)
- Permission(权限)
- PermissionAssignment(权限分配)
- Role(角色)
- RoleAssignment(角色分配)
接下来的一两天我会离开,但在我有机会时会更新更多信息。