我如何在MVC asp.net中实现授权认证?
我如何在MVC asp.net中实现授权认证?
使用Authorize属性
[Authorize]
public ActionResult MyAction()
{
//stuff
}
你也可以在控制器上使用它。也可以传递用户或角色。
如果你想要更多的控制权,你可以尝试像这样的东西。
public class CustomAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
string[] users = Users.Split(',');
if (!httpContext.User.Identity.IsAuthenticated)
return false;
if (users.Length > 0 &&
!users.Contains(httpContext.User.Identity.Name,
StringComparer.OrdinalIgnoreCase))
return false;
return true;
}
}
在ASP.NET MVC beta中,有一个授权功能,创建MVC项目时,Visual Studio会自动添加一个使用授权的控制器。一个有用的提示是,它被称为“过滤器”。因此,尝试搜索“Authorization Filter MVC”,任何4或更高版本的预览都会有所帮助。