Map m=new HashMap(); mput("user", username);//modeladdAttribute("user", username);你把屏蔽的这一行,取消屏蔽就可以在页面拿到。
session因为请求(request对象)而产生,同一个会话中多个request共享了一session对象,可以直接从请求中获取到session对象。
session的创建和使用总在服务端,而浏览器从来都没得到过session对象。但浏览器可以请求Servlet(jsp也是Servlet)来获取session的信息。客户端浏览器真正紧紧拿到的是session ID,而这个对于浏览器 *** 作的人来说,是不可见的。
首先,mvc开发的是web应用,web应用中, 一般使用cookie或者session来进行身份验证。
参考:>
简单的说,Cookie是客户端记录的信息, Session是服务器记录的信息, 而身份验证需要使用的就是Cookie或者Session。
所以,mvc做身份验证(登录),第一步是验证身份,然后颁发给用户cookie或者session,
如:
//控制器代码:[>}
那么记录了之后, 服务器就知道,这个人是ID = “100"的那个用户了,然后就是验证了。
在MVC中,一般使用FIlter来控制用户的权限,即某个Action需要怎么样的权限、或者指定某个用户才能进行访问,否则返回一个错误。
一般会重写过滤器, 在你的MVC项目中新建一个类:
public class MyAuthorizeAttribute : SystemWebMvcAuthorizeAttribute//继承mvc自带的AuthorizeAttribute
{
protected override bool AuthorizeCore(> }
这个过滤器很简单, 如果Session["UserId"] =="100"的时候,才会通过(返回true),其他都不允许通过。
最后一步,就是给需要验证身份的控制器加上这个过滤器即可。
[Authorize]//这个就是验证身份的, 如果用户没有登录,或者UserId不等于100,
系统会禁止他进入Index的界面
public ActionResult Index()
{
Return View();
}
Enumeration keys=sessiongetAttributeNames();
获得session中所有attribute的name,但是session里的attribute不全是你自己存的哦,还有很多session自己的值,也不全是String的,你这么取值,本身就是错的,你可以将key放在一个List<String>中,然后放到session,在java端获取这个list,然后用for(String keyItem:list)来循环得到你要的key,还有,这样的一次性数据,不要放在session中,太占内存了,放到request里面传过来就好了
方式一 通过 URL 传参
通过 URL 挂接参数,如 /auth/getUseruserid='6'
服务器端方法可编写为: getUser(String userid) ,也可新增其他参数如>
demo:第一个地方登陆: 1得到请求的SessionId 和 登陆的 用户名 2把SessionId 存到application里,用户名存到当前session里 ActionContext ac = ActionContextgetContext(); MapString, Object applicationMap=acgetApplication(); MapString, Object sesisonMap = acgetSession(); //请求的sessionId String currentSeesionId= getRequest()getSession()getId(); applicationMapput(loanUserEgetUname(), currentSeesionId); sesisonMapput(CommonVarSSO_LOGIN_NAME_KEY,loanUserEgetUname());第二个地方登陆: 1获取浏览器的 SessionId 和取得 登陆的用户名 2在当前的session 里取得 用户名对应的关键字 ,用关键字在application里获取SessionId , 作比较,不相等就跳到登陆。 拦截器: / 初始化参数获得 / ActionContext actionContext = arg0getInvocationContext(); / >
以上就是关于springmvc 的controller设置@sessionAttribute("userName") jsp页面获取不到值,全部的内容,包括:springmvc 的controller设置@sessionAttribute("userName") jsp页面获取不到值,、spring mvc 禁止cookie session,怎么做、c#mvc 怎么验证登录状态等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)