(转)Asp.Net MVC中身份认证和授权
MVC自带的ActionFilter
在Asp.Net WebForm的中要做到身份认证微软为我们提供了三种方式,其中最常用的就是我们的Form认证,需要配置相应的信息。例如下面的配置信息:
<authentication mode="Forms"> <forms loginUrl="Login.aspx" defaultUrl="Default.aspx" protection="All" /> </authentication> <authorization> <deny users="?"/> <allow users="*"/> </authorization>
说明我们登录页面是Login.aspx,登录成功后的默认页面是Default.aspx,而我们用户信息采用验证和加密两种方式。而且最重要的是我们要写好授权方式(下面的授权一定要写否则只说明使用Forms认证然后设置相关属性是没有用的),拒绝所有匿名用户,只有登录用户可以正常访问。这样之后我们设置点击登录按钮将用户名写进cookie(也就是执行FormsAuthentication.SetAuthCookie(name, false);)就可以了。
0在Asp.Net MVC中我们同样可以使用Forms认证,但是如果你按照WebForm中的做法去做就不行了。例如你这样配置信息:
<authentication mode="Forms"> <forms loginUrl="~/Account/Login" defaultUrl="~/Home/Index" protection="All"/> </authentication> <authorization> <deny users="?"/> <allow users="*"/> </authorization>
你在Login.aspx中设置登录来触发AccountController中的Logon来登录,其中Logon代码: