我是asp.net mvc 4的新手。当我把username==admin && password==password123!
它打开管理页面时,你能告诉我怎么做吗?因为我不知道把代码放在哪里?我还希望另一个不是管理员的用户看不到其他用户数据。谢谢!
1 回答
所以这是一个很大的主题,在 MVC 4 中有很多方法可以处理身份验证和授权。
本教程介绍使用 Microsoft 的默认身份验证和授权提供程序和本地 SQL 数据库来存储凭据。
您的第一个教程创建了 UI 以获取登录信息,但没有根据后端源(如 SQL 数据库或活动目录或其他任何东西(xml、其他 DB 类型、Web 服务、openAuth 提供程序等))对其进行检查. 第二个教程将展示一种连接数据的方法,但您需要决定是否要以这种方式存储凭据。
特别是关于您只允许管理员查看用户维护页面的问题,您可以使用Action Filters来做到这一点。在我链接到的教程中,您将看到一个代码示例,其中“AdministratorSecrets”操作在其上方有一个属性,如下所示:
[Authorize(Roles = "Administrators")]
public ActionResult AdministratorSecrets()
{
return View();
}
这将阻止除管理员以外的任何人看到 AdministratorSecrets 返回的视图。您可以使用它来创建只有管理员才能看到的管理员维护页面。
您可能希望完全控制登录过程和管理用户角色(因此您可以接受硬编码的管理员密码并返回该用户的管理员角色)。如果本教程没有为您提供足够的控制,那么您可以通过编写 CustomMembershipProvider(处理登录)和 CustomRoleProvider(处理确定每个用户的角色)来微调您的解决方案。
如果您想采用自定义路线,请查看本教程:http ://www.brianlegg.com/post/2011/05/09/Implementing-your-own-RoleProvider-and-MembershipProvider-in-MVC-3.aspx