有关登录验证的问题

问题描述

我刚学java,在用myeclipse设计登录验证时,输入正确的账号和密码可以登录首页,当然输入错的账号或密码不可以登录到首页,但我直接复制首页的地址,也可以访问首页,这是怎么回事?神奇的问题!

解决方案

刚学习java的肯定得解释得稍微浅一点。简单地说吧,你直接输入首页地址是肯定可以访问的,如果你不用其他的控制的话。问题是怎么控制。一种简单的方法就是定义个过滤器,也就是写个java类, implements Filter类,在web.xml里配置哪些url需要先执行这个fitler,使得对url的访问先经过这个java类,然后在这个java类里,你就可以从session里取得用户信息,看看有没有登陆过,没有登陆,就通过redirect函数直接跳转到登陆页面http://www.iteye.com/topic/82530
解决方案二:
因为你进入首页的时候没有验证用户是否已经登录,你在程序里面添加一个检测条件,检测用户是否已经登录,没有登录就跳到登录页面就OK了。
解决方案三:
不加过滤器,不加判断,肯定能访问。建议把用户登录信息放到session中写个filter 判断 session中是否有 用户值 如果有跳到 正确的页面如果没有 在redirect 回登录页面
解决方案四:
你应该只是做了简单的登录跳转这个流程。所以直接输入首页地址的时候也是可以访问。一般做法是在的登录方法中,将当前用户信息存放在session中。这样在直接访问一个地址时,先验证下这个用户session是否存在(可以使用拦截器)。简单如下:login.jsp String username = ..String password = ..if(验证登录成功){session.setAtrribute("name",username);跳转到index.jsp,否则 error.jspindex.jsp先从session中取出name String name = (String) session.getAtrribute("name");验证下是不是为空,为空跳转到login.jsp,否则就打开index.jsp大概就这个意思。至于拦截器,你可以查下相关资料
解决方案五:
通过url当然可以访问,可以这样:当你登陆成功的时候,把用户信息保存在session中,再写一个filter判断上面的session对象是否存在来控制页面的跳转。

时间: 2024-08-30 18:23:44

有关登录验证的问题的相关文章

更改 MSDE sa 密码和登录验证模式

更改 MSDE sa 密码和登录验证模式Microsoft SQL Desktop engine 2000 是一个常用的SQL支持数据库,但安装后其 sa 的默认密码为空,这样对数据安全有一定影响.因为MSDE2000是简化版本,无管理控制台,修改密码只能进入命令行方式.步骤:要注意的是要在切换了SQL的身份验证方式后才可以命令行修改密码.默认的SQL身份验证方式是Windows账户模式,要改为采用SQL身份验证. 要Windows账户身份验证模式切换到SQL的身份验证模式,请按以下步骤操作:

Struts从零开始一、普通的登录验证实例

Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的.由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的几年中颇受关注.Struts把Servlet.JSP.自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架.很多公司开发的产品都是基于此框架的. 当然,有朋友一提起编程就觉得头痛,

带数据库的ASP用户名密码登录验证代码

  带数据库的ASP用户名密码登录验证代码,这个代码里有登录判断的完整逻辑,包括连接数据库,查询判断用户名和密码是否正确,返回重填,关闭数据库记录集等,对ASP初学者有相当好的借鉴价值: 这里连接的是SQLSERVER数据库,数据库就不上传了,里面有两个字段,name是存储用户名,userpassword是密码字段,自己手动创建个,修改本代码里面的数据库连接信息就可测试了.

asp.net使用ODP即oracle连接方式的的防注入登录验证程序

 这篇文章主要介绍了asp.net使用ODP即oracle连接方式的的防注入登录验证程序,需要的朋友可以参考下 网上有很多SQL连接方式的登录验证,但没有oracle连接方式的,我摸索了一上午写了这个可执行的函数,分享给大家 代码如下: // 用户登录检查 public bool LoginCheck(string f_LoginName, string f_LoginPass) { bool result = false; // 正则表达式检查 if (Regex.IsMatch(f_Logi

struts中用拦截器实现登录验证功能AuthorizationInterceptor

  用拦截器实现登录验证功能AuthorizationInterceptor   package com.interceptor;     import com.opensymphony.xwork2.ActionInvocation;   import com.opensymphony.xwork2.interceptor.*;   import com.opensymphony.xwork2.*;   import java.util.*;   public class Authorizat

C# 连接SQLServer数据库及登录验证知识

最近在做联系数据库的系统项目,这里重新回顾了一些数据库的知识,主要是使用VS2012与SQL Server 2012简单的做了下面两个数据库的应用,虽然比较简单,但我认为这是非常有用的知识,尤其对刚接触这样的系统知识的同学,同时也巩固了自己的知识. 一.VS简单连接数据库 使用DataGridView控件(显示和编辑不同数据类型的表格数据)来显示数据库中的数据,主要步骤是:先定义连接数据库和查询语句,再使用SqlConnection建立数据库,SqlDataAdapter连接数据库和查询命令,最

Shiro安全框架入门篇(登录验证实例详解与源码)

版权声明:本文为博主原创文章,转载注明出处http://blog.csdn.net/u013142781 目录(?)[+] 一.Shiro框架简单介绍 Apache Shiro是Java的一个安全框架,旨在简化身份验证和授权.Shiro在JavaSE和JavaEE项目中都可以使用.它主要用来处理身份认证,授权,企业会话管理和加密等.Shiro的具体功能点如下: (1)身份认证/登录,验证用户是不是拥有相应的身份:  (2)授权,即权限验证,验证某个已认证的用户是否拥有某个权限:即判断用户是否能做

验证码-php 登录 验证吗错误,,Warning: Unknown: Failed to write session data (files).

问题描述 php 登录 验证吗错误,,Warning: Unknown: Failed to write session data (files). Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (C:/Windows/Temp) in Unknown on line 0,,,,现在网上找了

asp.net-[ASP.NET]菜鸡求指导,我这个登录验证就是通不过注册信息倒是能写入数据库

问题描述 [ASP.NET]菜鸡求指导,我这个登录验证就是通不过注册信息倒是能写入数据库 这是我的部分代码片段 //登录按钮触发的事件函数 protected void button1_Click(object sender, EventArgs e) { if(LoginData.fucLogin(UserName.Text, PassWord.Text)) { Response.Redirect("WebForm1.aspx"); } else { label3.Text = &q

httpcontext-在IIS 7同一站点下发布两个应用程序,出现登录验证干扰!急!!!

问题描述 在IIS 7同一站点下发布两个应用程序,出现登录验证干扰!急!!! 在IIS7的default web site下新建了两个application,以A和B为例.然后在浏览器先登录A应用,再在另一个标签页登录B应用.这时返回到A应用的标签操作,会发现A应用程序退出!重新登录之后,去B应用的标签页操作,发现相同现象!简单说就是两个应用不能同时登录,登录A,B退出:登录B,A退出!是不是所有的application用的是同一个HttpContext?我用的是HttpContext.Curr