昨天开始给原来做的项目增加一个功能,加上图片验证码的功能。写完了验证码图片的功能,为了方便使用做成了一个WEB控件。然后把控件加到登陆页面里面,发现无论如何也不能显示验证图片。后来发现原来是web项目的设置问题,原来的webconfig设置如下
<authentication mode="Forms">
<forms name="name" loginUrl="Default.aspx" protection="All" timeout="xx" path="/">?
</forms>
</authentication>
不登陆无法使用任何页面,导致验证图片不能正常演示,就将验证方式改成“Windows”,这下验证码图片可以正常使用了,但是我的程序中好多验证的功能都不能正常使用了。
跟踪了一下发现User.Identify.Name竟然成了当前登陆用户的信息,我明明已经使用FormsAuthentication.SetAuthCookie(this.UserAccount.Text.Trim(), false);进行了初始化,为什么会出现这样的状况?原来.Net的系统验证模式关联着设置模式,有将验证模式修改成“Forms”,验证可以正常使用,验证码图片另想方式实现吧。