参加比赛的Login项目....整了一天把验证码功能加上了......
把需要注意的事情提一下.
1.RMagick解压后的包里有gem文件,跟压缩包不同命,丫能不能不要那么大意,仔细找一找啊?
2.注意不要让生成图像和验证码的方法和显示验证码的方法在一起,这样导致的问题就是填写的验证码是过时的,等到用输入的验证码验证的时候,是用输入的验证码跟新生成的验证码效验。(=。。=)那就永远都不用进去了。但是这就涉及到逻辑的设计问题,最后我是新建了个logout的方法,总觉得欠妥,还是要再考虑。
def index
session[:noisy_image] = NoisyImage.new(4)
session[:code] = session[:noisy_image].code
end
def login
session[:user_authority]=nil
if request.post?
if VerificateCodeRight?
user=User.authenticate(params[:name],params[:password])
if user
session[:user_authority]=user.authority
redirect_to(:action=>'loged')
else
reset_seesion
flash.now[:notice]= "账号或者密码不存在,请重新输入"
end
else
flash.now[:notice]="验证码不正确,请重新输入"
end
end
end
3.要将传送图片的方法放在使用验证码的Controller下。
其实可能也不一定吧,下面的src是在erb文件下code_image方法的调用,红色的地方是Controller的名字,应该是可以随时换的。因为逻辑,想过放到ApplicationController下,但是不知道路由应该怎么写了。最后还是放弃放到使用的admincontroller下.....
<img height='30' src='/admin/code_image'>
分享到:
相关推荐
《Pillow库详解及其在Python中的应用》 Pillow库是Python中广泛使用的图像处理库,它是PIL(Python Imaging Library...通过对Pillow库的学习和掌握,开发者可以更好地处理和分析图像,为各种应用场景提供强大的支持。
该项目强调软件的自由,即用户能够自由地运行、复制、分发、学习、改变和改进软件。GNU项目产生了许多重要的软件,例如GNU编译器集合(GCC)和GNU通用公共许可证(GPL),后者为开源软件提供了法律基础。
该项目强调软件的自由,即用户能够自由地运行、复制、分发、学习、改变和改进软件。GNU项目产生了许多重要的软件,例如GNU编译器集合(GCC)和GNU通用公共许可证(GPL),后者为开源软件提供了法律基础。
TensorFlow是一个开放源代码的软件库,用于进行高性能数值计算。通过其灵活的架构,它允许用户轻松地部署计算工作在各种...此外,TensorFlow支持自动微分,这对于实现复杂的机器学习算法(如深度学习网络)至关重要。
TensorFlow是一个开放源代码的软件库,用于进行高性能数值计算。通过其灵活的架构,它允许用户轻松地部署计算工作在各种...此外,TensorFlow支持自动微分,这对于实现复杂的机器学习算法(如深度学习网络)至关重要。
TensorFlow是一个开放源代码的软件库,用于进行高性能数值计算。通过其灵活的架构,它允许用户轻松地部署计算工作在各种...此外,TensorFlow支持自动微分,这对于实现复杂的机器学习算法(如深度学习网络)至关重要。
TensorFlow是一个开放源代码的软件库,用于进行高性能数值计算。通过其灵活的架构,它允许用户轻松地部署计算工作在各种...此外,TensorFlow支持自动微分,这对于实现复杂的机器学习算法(如深度学习网络)至关重要。
TensorFlow是一个开放源代码的软件库,用于进行高性能数值计算。通过其灵活的架构,它允许用户轻松地部署计算工作在各种...此外,TensorFlow支持自动微分,这对于实现复杂的机器学习算法(如深度学习网络)至关重要。
TensorFlow是一个开放源代码的软件库,用于进行高性能数值计算。通过其灵活的架构,它允许用户轻松地部署计算工作在各种...此外,TensorFlow支持自动微分,这对于实现复杂的机器学习算法(如深度学习网络)至关重要。
TensorFlow是一个开放源代码的软件库,用于进行高性能数值计算。通过其灵活的架构,它允许用户轻松地部署计算工作在各种...此外,TensorFlow支持自动微分,这对于实现复杂的机器学习算法(如深度学习网络)至关重要。
TensorFlow是一个开放源代码的软件库,用于进行高性能数值计算。通过其灵活的架构,它允许用户轻松地部署计算工作在各种...此外,TensorFlow支持自动微分,这对于实现复杂的机器学习算法(如深度学习网络)至关重要。