用户登录,根据字段 power 是 1 还是 2 判断用户的权限
if @account
if @account.power==1
session[:admin]=@account
redirect_to :controller=>"admin",:action => "admin"
end
if @account.power==2
session[:student]=@account
redirect_to :controller=>"student",:action => "student"
end
else
render :action => "error"
end
然后在 admin.html.erb 和 student.html.erb 中分别写相同的代码:
admin:<%=session[:admin].username%><br/>
student:<%=session[:student].username%>
然后我把 admin 和 student 在同一浏览器的同一页面分别登录了一遍 (为了让 session[:admin] 和 session[:student] 都存有值) 如果我登录的是 student,那么我在 student.html.erb 中只能取得
<%=session[:student].username%>
如果我登录的是 admin,那么我在 admin.html.erb 中只能取得
<%=session[:admin].username%>
我这么作可能没什么实际意义 但是结果确实难住我了-.- 用不同身份登录把 session 都存了一遍,也没有清空 session 的操作,能正常跳转,也就是 redirect_to 被正常执行了上面的存 session 应该也正常,但是每个身份登录只能读取每个身份自己的 session-.-求普照