近几日一则试用验证票的东西,说实在的,不是太明白,但总算可以看到点效果。记得以前用asp写后台时,总喜欢在每个页面设置session或cookie进行验证,以做到检测是否为合法用户,后来在做donet开发时,因为接手别人的项目,看到验证票,而且听说在2005更加得到深入,所以就来试玩一翻,的确发现比以前简单得多。
下面就写上试玩的过程,算是给自己记下,省着以后忘记:
首先建立项目:并在webconfig中添加如下语句:
<
authentication
mode
=
"Forms">
<
forms
loginUrl
=
"FormsAuthentication
.aspx
"/> //
默认跳转页面
</
authentication
>
<
authorization
>
<
deny
users
=
"?"/> //
任何用户都得登陆
</
authorization
>
以上语句主要是控制当前项目需要验证,如果只对项目中某个文件夹中的页面进行验证,可以在文件下加入webconfig然后加上
<
authorization
>
<
deny
users
=
"?"/> //
任何用户都得登陆
</
authorization
>
新建新文件FormsAuthentication.aspx,并添加按扭,并写上按钮事件:
FormsAuthentication
.SetAuthCookie("anchor", false);
稍后对这个语句作介绍,然后再添加一个链接,并链到FormsAuthentication1.aspx
再建立FormsAuthentication1.aspx,并添加lable,并添加加载代码:
this.Label1.Text = FormsAuthentication.Decrypt(HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName].Value).Name;
主要是测试一下刚刚设置的票名。
测试最终实现效果:将起始页设为FormsAuthentication1.aspx,但每次打开都将跳到FormsAuthentication.aspx页面,但当我们点击完FormsAuthentication.aspx上的按钮后就不再跳入,因为我们已经设了验证票。
FormsAuthentication.SetAuthCookie (String UserName, Boolean createPersistentCookie)
createPersistentCookie:是否创建持久的cookie,一般用在跨浏览器会话
为提供的用户名创建一个身份验证票证,并将其添加到响应的 Cookie 集合或 URL。
为提供的用户名创建一个身份验证票证,并使用提供的 Cookie 路径或 URL 将其添加到响应的 Cookie 集合。