jsp做的网页 后台管理功能实现冻结用户

来源:百度知道 编辑:UC知道 时间:2024/06/11 23:46:44
小弟是学生 现在在做一个类似淘宝的网页(当然功能简陋的多)
其中后台管理的功能之一是可以冻结用户或其资金账户(具体为若干天,比如冻结7天) 请问如何实现呢 要使得用户登陆时,如果被冻结将无法登陆 然后到了冻结结束的时候,又可以登陆了
在数据库中又该定义怎样的属性来做到这一点
请大家指点一下 只需要给思路即可啦 有具体点的代码更好了 3x
用tomcat + eclipse开发的
补充一下 数据库用的是MYSQL 好心人快出现啊 ~

to nirenfu:
可不可以将blockDate能够定时的增加,然后增加到7天,这个应该如何做到,能够实时的更新数据库中的blockDate吗?

其实是想实时的更新数据库数据,比如从冻结的时候算起,然后7天以后可以登陆,比如是6月6号下午3点被冻结,那么就是6月13号下午3点开始可以登陆。

nirenfu:打算就采用你的那种了吧,每天定时更新一次,请问你能再详细点解释下该如何做么

1.假设用户表为user表,可以设置一个字段 block char(1)来表示账号是否被冻结(1为冻结),另新增一字段blockDate datetime表示开始冻结的时间;
2.用户登录时,如果此字段值为1,不允许登录;
3.web.xml中配置一servlet,继承自HttpServlet,里面包含一个线程,随系统启动后定时运行(例如每天0时),查询user block为1且blockDate距离系统时间已经7天的记录,把block置为0,清除blockDate.用户又可重新登录.

你的用意是不是登录时校验是否为7天,为7天就允许登录?然后再清空.
这种方式不好,每天都要去更新这个字段,影响效率.
根据上面的第三点也可以做到,就是每天0时去把那些block为1的blockDate加一天,但这种方式确实不好.

哦,那更容易,不用配置servlet了,只要是现在登录时间跟冻结的时间相差7天就可以了,不用更新 blockDate.例如10.26号3点冻结的账号,现在是11月2号4点,比较两个时间是不是相差7天,如满七天就让他登录,然后清空block和blockDate,否则不让登录,block也可以不要,完全由blockDate进行控制.

web.xml配置:
<servlet>
<servlet-name>**servlet</servlet-name>
<servlet-class>
com.**.**Servlet
</servlet-class>
<load-on-startup>3</load-on-startup>
</servlet>
这样系统启动时这个servlet就会启动,**servlet实现Runnable接口,重写其 run() 方法,在里面加上判断逻辑和数据库操作就可以了

方法:
一,在控制层(比如servlet或struts控制器)中写一个过滤器,内容为查询当前用户的资金账户是否被冻结。