对未登录用户进行判断

1.在servlet中判断

@RequestMapping(value={"/","/system/index","/common/login"},method=RequestMethod.GET)

public ModelAndView toIndex() throws DaoException {

if (getSessionAttribute(Constant.SESSION_USER) == null) {

return createSuccessModelAndView("public/login", null);

}

setSessionAttribute(Constant.SESSION_MENU, getHeaderInfo());

SysAdmin admin = getSessionUser();

return createSuccessModelAndView("platform/platform-index",optionUtil.getPlatformStatus());

}

2.使用过滤器判断

public class loginFilter implements Filter{

private String dispatchUrl = "";

private String excludeUrl = "";

@Override

public void destroy() {

}

@Override

public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)

throws IOException, ServletException {

HttpServletRequest request = (HttpServletRequest)arg0;

String servletPath = request.getServletPath();

HttpSession session = request.getSession();

String sessionKey = (String) session.getAttribute(Constant.SESSIONKEY);

/*就是登陆界面不进行过滤*/

if(servletPath.equals(dispatchUrl) || servletPath.equals(excludeUrl)){

arg2.doFilter(arg0, arg1);

}else{

if(!StringUtils.isEmpty(sessionKey)){

arg2.doFilter(arg0, arg1);

}else{

request.getRequestDispatcher(dispatchUrl).forward(arg0, arg1);

}

}

}

@Override

public void init(FilterConfig arg0) throws ServletException {

dispatchUrl = arg0.getInitParameter("dispatchUrl");

excludeUrl = arg0.getInitParameter("excludeUrl");

}

个人总结:不知道每种方式更适合哪些场景?

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在微信小程序中,可以通过获取用户信息来判断用户是否已经登录。一般情况下,可以在小程序入口页面的onLoad生命周期函数中调用wx.getUserInfo()方法,通过判断返回的用户信息是否为空来判断用户是否已经登录。 示例代码: ``` Page({ onLoad: function () { wx.getUserInfo({ success: res => { // 用户登录 console.log(res.userInfo) }, fail: res => { // 用户登录 console.log('登录') } }) } }) ``` 需要注意的是,如果用户授权获取用户信息,则wx.getUserInfo()方法会失败,需要在fail回调函数中进行处理。另外,为了提高用户体验,建议在小程序中提供登录按钮,让用户主动触发登录流程。 ### 回答2: 微信小程序登录判断是指在用户进入小程序时,判断用户是否已经登录微信账号。以下是一个简单的登录判断的示例: 1. 首先,在小程序的入口页面(通常是app.js或app.json),添加全局变量isLogged来表示用户登录状态。 2. 当小程序载入时,判断用户是否已经登录。可以通过wx.getStorageSync()方法获取本地缓存中登录状态的信息。如果获取到的isLogged值为true,表示用户登录,直接进入小程序的首页或其他页面。 3. 如果获取到的isLogged值为false,表示用户登录。此时,可以引导用户进行登录操作。 4. 在登录页面,提供用户进行微信账号登录的入口。用户进行登录操作后,将isLogged值设置为true,并将登录状态信息保存到本地缓存中,使用wx.setStorageSync()方法进行保存。 5. 当用户登录成功后,返回小程序的入口页面,并将isLogged值设置为true。 6. 在小程序的其他页面,通过判断isLogged值来确定用户是否已登录。如果isLogged为false,表示用户登录,则可以弹出提示框或跳转至登录页面进行登录操作。 以上是一个简单的微信小程序登录判断的示例。根据实际需求,可以对登录页面进行美化、添加验证码等安全措施,提升用户体验和小程序的安全性。同时,也可以根据业务需求,对登录成功后的跳转、保存的信息进行相应的处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值