在index.aspx网页中插入iframe:login.asp登录界面,如何防止登录成功后,刷新返回未登录界面?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在index.aspx网页中插入iframe:login.asp登录界面,如何防止登录成功后,刷新返回未登录界面?相关的知识,希望对你有一定的参考价值。

login.asp

<!-- #include file="conn.asp" -->
<%
'打开数据库判断用户是否存在,info为表名,username为字段名
set rsc=server.createobject("adodb.recordset")
sqlc="select * from use where usename='"&request.Form("username")&"' and usepass='"&request.Form("password")&"'"
rsc.open sqlc,conn,1,1
session.Timeout=30
if rsc.eof then
response.write"<p align=center>出错提示:用户名不存在或者用户名、密码不正确!</p>"
response.write"<p aling=center><a href=tijiao3.asp>点击这里重新登录!</a></p>"
else
response.write"<h1>欢迎您成功登录本公司网站</h1>"
response.write"<p aling=center><a href=tijiao3.asp>更改用户</a></p>"
Response.Write"<p aling=center><a href=tijiao3.asp>点击这里重新登录!</a></p>"
rsc.close
set rsc=nothing
end if
%>
aspx与asp之间如何互通登录信息?

按以下步骤可以解决,你登录页面跳转的问题(代码均已测试):
1、增加登录判断
<!-- #include file="conn.asp" -->
<!-- #include file="loginchk.asp" -->

'包含 loginchk.asp 文件
...
Response.Write"<p aling=center><a href=tijiao3.asp>点击这里重新登录!</a></p>"
'插入判断是否登录的语句
Response.Cookies("islogin")="yes" ‘登录成功写入 cookies
...
2、loginchk.asp 文件内容:
<%@language="vbscript"%>
<%
If Request("islogin")="yes" Then Response.Redirect "主页面"
%>
3、退出登录的操作
tijiao3.asp 中退出登录后,插入
<%Response.Cookies("islogin")=""%>
4、用 cookies 或者 表单传值都可以互通信息。

请采纳追问

我找到方法了,在login.asp加上

但是loginlg.asp的注销该如何实现?如何清除session("usename")。

追答

3、退出登录的操作
tijiao3.asp 中退出登录后,插入

其实你这么写不是很好,
登入Login.asp->欢迎index.asp->登出logout.asp 这才是一个完整的结构。

参考技术A response.write("<script>top.location.href='index.aspx'</script>")

楼主这样试试!追问

login.asp要保存的是

response.write"欢迎您成功登录本公司网站"
response.write"更改用户
"
这段不会被刷新没掉,您写的那句话放在哪里?

追答

Response.Write"点击这里重新登录!
"

改为
Response.Write"点击这里重新登录!
"

这样试试

追问

我找到方法了,在login.asp加上

但是loginlg.asp的注销该如何实现?清除session("usename")。

追答

汗!楼主原来是想要这样跳转。理解失误!下路是跳出清空:
session.Abandon()

清空session值。

在混合 MVC3 项目中,剃刀视图优先于 aspx

【中文标题】在混合 MVC3 项目中,剃刀视图优先于 aspx【英文标题】:Priority of razor views over the aspx in mixed MVC3 project 【发布时间】:2012-04-26 15:34:06 【问题描述】:

我已将旧的 MVC2 项目转换为 MVC3。现在我有了 .aspx 视图和 razor .cshtml。

假设我有一个与控制器关联的视图(HomeControllerIndex 操作和~\Views\Home\Index.aspx),同时我仍然有完全不同的~\Views\Shared\Index.aspx

通常当Index Action 调用View() 时,它会呈现~\Views\Home\Index.aspx。但是如果我将视图转换为剃刀视图,则相同的操作而不是渲染~\Views\Home\Index.cshtml 调用 ~\Views\Shared\Index.aspx.

所以我猜 MVC 优先考虑 .aspx 页面而不是 .cshtml。也许我需要更改 web.config 文件中的某些内容,因为现在我必须明确告诉它要获取哪个视图:

View("~\Views\Home\Index.cshtml")

即使我删除了扩展名View("~\Views\Home\Index"),它仍然会调用共享的 .aspx 视图,尽管我有正确的路径。是不是很奇怪?

【问题讨论】:

【参考方案1】:

您遇到的问题是 MVC 视图的默认优先级。这是默认值:

~/Views/Home/Index.aspx
~/Views/Home/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
~/Views/Home/Index.cshtml
~/Views/Home/Index.vbhtml
~/Views/Shared/Index.cshtml
~/Views/Shared/Index.vbhtml 

如您所见,它优先于所有 aspx/ascx 文件,即使在共享目录中,也优先于类似的 razor 视图。

一个解决方案是Get MVC Razor favor .cshtml over .aspx,但是此解决方案不会重新关联 aspx/ascx 文件。所以你需要这样的东西:

protected void Application_Start() 
 
  ViewEngines.Engines.Clear(); 
  ViewEngines.Engines.Add(new RazorViewEngine()); 
  ViewEngines.Engines.Add(new WebFormViewEngine()); 
 

【讨论】:

现在唯一的小问题是:如果您安装了 resharper 并尝试从控制器打开关联的视图,它仍然会指向共享视图。虽然 Visual Studio 的“Go to View”会打开正确的 听起来你应该让 resharper 知道这个错误,因为这绝对是一个错误。

以上是关于在index.aspx网页中插入iframe:login.asp登录界面,如何防止登录成功后,刷新返回未登录界面?的主要内容,如果未能解决你的问题,请参考以下文章

如何将ASP.NET网站的IIS默认的首页为index.aspx.

在混合 MVC3 项目中,剃刀视图优先于 aspx

没有文件扩展名的网页

asp.net mvc 中 要 访问/ Views/Admin/Order/Index.aspx页面 在 路由里该如何设置?

如何用delphi7在后台登录一个网站并打开一个有权限(登陆用户)的网页?

抓取 javascript 生成的网页数据