我有一个超级简单的ASP.NET MVC应用程序,使用RpxNow(OpenID)允许用户登录。现在我想让用户编辑自己的帐户并提供管理员访问权限以编辑任何人的帐户。
我有两个单独的“编辑帐户”视图:
- ~/account/edit/ - ~/account/edit/1
第一个基于已登录用户加载帐户详细信息。第二个使用提供的AccountId加载帐户详细信息。第一个是标准用户使用的,第二个是管理员使用的。
首先,我需要定义角色(用户、管理员),然后将一个或多个用户帐户分配给该角色。
然后,我需要在控制器中检查角色。我喜欢这个概念:
我有两个单独的“编辑帐户”视图:
- ~/account/edit/ - ~/account/edit/1
第一个基于已登录用户加载帐户详细信息。第二个使用提供的AccountId加载帐户详细信息。第一个是标准用户使用的,第二个是管理员使用的。
首先,我需要定义角色(用户、管理员),然后将一个或多个用户帐户分配给该角色。
然后,我需要在控制器中检查角色。我喜欢这个概念:
http://schotime.net/blog/index.php/2009/02/17/custom-authorization-with-aspnet-mvc/
那么,问题来了:
- 有没有一种简单的方法在web.config中定义角色列表?
- 有没有一种简单的方法在web.config中定义哪些用户属于哪些角色?
- 有没有一种不使用Membership / Role提供程序的方法来实现这一点?
- 我是否从错误的角度考虑了这个问题?我应该将应用程序分成两个分支,并根据文件夹授权对它们进行保护吗?