Session——免登录

15分钟内免登录

登录成功之后,发现再次登录时,还需要请求登录方法,有没有在规定的时间内,不需要点击登录的时候,自动登录的呢?

15分钟内免登录实现原理:用户登录成功后,将用户信息保存在 Session
中,并设置失效时间为15分钟,是指15分钟内用户没有操作浏览器,如果15分钟内操作浏览器后重新计时。用户退出登录则删除 Session
保存的信息。

实现过程主要包括以下6步:

1.在 web.xml 中 配置 Session 的失效时间:

<!-- session配置 -->
<session-config>
    <session-timeout>15</session-timeout>
</session-config>

2.在 后台登录 映射方法内,用户登录成功后,在 return 语句之前将用户信息保存到 Session 中:

getSession().setAttribute( "user",user );

3.增加 /login 映射 URL 方法:

@RequestMapping("/login")
public String login(Model model) {
	// 取出session里面的user
    User user = (User)getSession().getAttribute("user");
    
    // 判断 user是否为null 如果为null  重新登录,否则 不需要再次登录
    if(user!=null){
        return "/personal/personal";
    }
    return "../login";
}

获取 Session 中的User,如果 User 不为 null 则直接跳转到个人主页,如果为 null,则跳转到 login.jsp 登录页面。

4.修改 index.jsp 页面的登录链接:

<a href="/login">点我登录</a>

5.重新启动 Tomcat,点击“点我登录”链接,输入用户名密码后跳转到个人主页。

6.重新访问:http://localhost:8080/ , 再次点击“点我登录”链接,发现直接跳转到了个人主页。15分钟内免登录成功!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Web开发Session是一种在服务器端存储用户数据的方式,可以在多个页面共享这些数据。Session通常用于存储用户登录信息、购物车信息等。 在Python,可以使用内置的`session`对象来实现Session功能。下面是一个简单的例子: ```python from flask import Flask, session, redirect, url_for, escape, request app = Flask(__name__) app.secret_key = 'my_secret_key' @app.route('/') def index(): if 'username' in session: username = session['username'] return 'Logged in as ' + username + '<br>' + \ "<b><a href = '/logout'>click here to log out</a></b>" return "You are not logged in <br><a href = '/login'></b>" + \ "click here to log in</b></a>" @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': session['username'] = request.form['username'] return redirect(url_for('index')) return ''' <form action="" method="post"> <p><input type="text" name="username"> <p><input type="submit" value="Login"> </form> ''' @app.route('/logout') def logout(): session.pop('username', None) return redirect(url_for('index')) ``` 在上面的例子,我们使用了Flask框架来实现Web应用。在应用启动时,我们设置了一个`secret_key`,这个密钥用于保护Session数据的安全性。 在`index`函数,我们检查了Session是否存在`username`键。如果存在,说明用户已经登录,我们将显示用户的用户名和一个链接,可以用于退出登录。如果不存在,说明用户尚未登录,我们将显示一个登录链接。 在`login`函数,我们检查了请求的方法是否为POST。如果是,说明用户提交了登录表单,我们将从表单获取用户名,并将其存储到Session。然后,我们将重定向到`index`函数。如果请求的方法为GET,我们将显示一个包含用户名输入框和提交按钮的表单。 在`logout`函数,我们使用`pop`方法从Session删除`username`键。然后,我们将重定向到`index`函数。 总之,Session是一个非常有用的工具,可以帮助我们在Web应用存储和共享用户数据。使用Python的`session`对象可以很容易地实现Session功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值