这几天帮朋友写一个Web小程序,又重新回顾了一下.net。
今天想使用authentication的Forms身份验证模式来验证程序。但遇到了一个非常、非常小的问题,耽误了大半天的时间。具体什么问题,考虑到自己的尊严,我在文章的最后给出。
下面和大家一起回顾一下怎样使用authentication的Forms身份验证模式。
首先,在应用程序的配置文件(web.config)中配置程序。具体如下:
配置authentication 节点,表示使用Forms验证模式,forms 节点的具体意义大家可以上网搜搜
<authentication mode="Forms">
<forms name=".user" loginUrl="Login.aspx" timeout="1" />
</authentication>
配置authorization节点,拒绝匿名访问
<authorization>
<deny users="?" />
</authorization>
然后,可以在Login.aspx页面和数据库连接起来验证用户,我用的方法是:
if (ValidateLogin(uid,pwd)) //此方法根据传过去的uid,pwd查找数据库中的记录,如有返回true
{
FormsAuthentication.SetAuthCookie(uid, false);
//设置Cookie,也可以用RedirectFromLoginPage(uid,false)直接到默认页面
Response.Redirect("index.aspx"); //重定向
}
这样,如果用户未经验证,想访问受限资源,就会被定向到login.aspx页面。
我遇到的问题是:错把<deny users="?" /> 写成<allow users="?" /> 结果可想而知,不知你们是否也遇到过此类小小的问题
使用authentication的Forms身份验证模式
最新推荐文章于 2016-12-21 10:10:35 发布