我已经看过许多关于使用令牌,roleprovider和membershipprovider保护MVC应用程序的示例,但没有一个非常适合我的场景。这是我的设置..
这就是我要问的...... 如何从AdminUsers sql表中对“Admins”验证基本身份验证当前用户,然后只允许这些人访问我的管理区域?
谢谢你的时间, 克里斯
答案 0 :(得分:4)
如果您不打算依赖会员或角色,您可以随时编写AuthorizeAttribute
的自定义实现,以根据数据库检查用户。
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class AdminOnlyAttribute : AuthorizeAttribute
{
public AdminOnlyAttribute()
{
}
public override void OnAuthorization(AuthorizationContext filterContext)
{
if (!User not in Admin table)
{
throw new UnauthorizedAccessException();
}
base.OnAuthorization(filterContext);
}
}
或类似的东西。然后当然:
[AdminOnly]
public class AdminController : Controller
{
// ...
}