浅析ASP.NET MVC :MVC页面验证与授权(2)_.Net教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:解析.NET Framework 新功能和增强的功能
ASP.NET 移动控件(原来为 Microsoft Mobile Internet Toolkit)扩展了 .NET Framework 和 Visual Studio .NET,提供了对移动电话和个人数据助理 (PDA) 等移动(无线)设备的支持。.NET Framew

自定义了两个自定义Attribute,分别为:RequiresAuthenticationAttribute和RequiresRoleAttribute。通过这两个Attribute来可以作用于Class和Method,用标记哪些Controller或Action需要登录后,或者需要拥有哪些角色才能执行。如果用户没有拥有访问当然Controller或Action权限的时候,就会自动被重定向到登录页面去。下面是两个类的定义:

以下为引用的内容:
/// <summary>
/// Checks the User's authentication using FormsAuthentication
/// and redirects to the Login Url for the application on fail
/// </summary>
[RequiresAuthentication]
public class RequiresAuthenticationAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//redirect if not authenticated
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
//use the current url for the redirect
string redirectOnSuccess = filterContext.HttpContext.Request.Url.AbsolutePath;
//send them off to the login page
string redirectUrl = string.Format("?ReturnUrl={0}", redirectOnSuccess);
string loginUrl = FormsAuthentication.LoginUrl redirectUrl;
filterContext.HttpContext.Response.Redirect(loginUrl, true);
}
}
}

分享:.NET教程之ASP.NET缓存方法分析和实践示例
尽早缓存;经常缓存 您应该在应用程序的每一层都实现缓存。向数据层、业务逻辑层、UI 或输出层添加缓存支持。内存现在非常便宜 — 因此,通过以智能的方式在整个应用程序中实现缓存,

共2页上一页12下一页
来源:模板无忧//所属分类:.Net教程/更新时间:2009-09-09
相关.Net教程