VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2545|回复: 18

asp.net 身份验证问题 用session

[复制链接]

2

主题

17

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-9-28 09:00:02 | 显示全部楼层 |阅读模式
选择用session作为身份验证
写了一个专门的页面checkLogin.aspx作为身份验证,
后台代码为
if (Session["adminName"] != null)
        {

        }
        else
        {
            Response.Redirect("login.aspx");
        }

然后在每个需要身份验证的页面调用
Server.Execute("checkLogin.aspx");可以完成身份验证,但是出现了一个问题
dropdownlist 等控件不能回传,提示页面代码出错,去掉
Server.Execute("checkLogin.aspx");后转为正常,不知道是什么原因。

除了每个页面用相的一段代码身份验证外,还没有其它的方法,比如写成函数之类的,方便修改验证内容,大家没有没有这样的例子呀
回复

使用道具 举报

2

主题

17

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-9-28 09:15:01 | 显示全部楼层
小弟新学,虚心求教,请别见笑呵
回复

使用道具 举报

0

主题

1

帖子

16.00

积分

新手上路

Rank: 1

积分
16.00
发表于 2020-9-28 09:22:47 | 显示全部楼层
放到init里面可以吗,好几年没有开发网站了,说的有问题,请原谅
回复

使用道具 举报

0

主题

60

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2020-9-28 09:30:01 | 显示全部楼层
除了每个页面用相的一段代码身份验证外,还没有其它的方法,比如写成函数之类的,方便修改验证内容,大家没有没有这样的例子呀

方法有很多,比如写个基类PAGE,所有页面继承它,不过初学建议你用COOKIE验证,很容易掌握,实际中用的也比较多
回复

使用道具 举报

2

主题

17

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-9-28 14:00:01 | 显示全部楼层
能不能给一个例子啊
回复

使用道具 举报

0

主题

12

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-9-28 14:30:01 | 显示全部楼层
如果是应用系统建议用httpModle
或者如3521565 写个Page 的基类

但是鉴于初学 就用你那种也可以!

至于你的问题
dropdownlist 等控件不能回传,提示页面代码出错...
可以说详细点吗?
回复

使用道具 举报

0

主题

12

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-9-28 15:15:01 | 显示全部楼层
例子
public class WebBasePage:System.Web.UI.Page
        {
public void CheckAuth()
{
       if (Session["adminName"] == null)
        {
            Response.Redirect("login.aspx");
        }
}

}

其他页面
WebForm1:WebBasePage
....
//调用那函数
回复

使用道具 举报

2

主题

17

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-9-28 16:00:01 | 显示全部楼层
==呵
回复

使用道具 举报

0

主题

18

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
发表于 2020-9-28 16:15:01 | 显示全部楼层
不要用session认证,session很容易过期,虽然你可以在webconfig里面设置它的过期时间,但是实际上仍然没用,实际上过几分钟它仍然会过期,所以用它来认证是不可取的。在这里ASP.NET自带的Form认证是比较理想的,而且非常容易,
参看http://www.dvbbs.net/tech/net/201602153972.asp
在这里进行设置以后,你在其他页面用Page.User. Identity.Name就可以获取到这个用户名
回复

使用道具 举报

2

主题

17

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-9-28 16:45:01 | 显示全部楼层
使用Server.Execute("checkLogin.aspx");验证下拉列表联动有问题,提示
_theForm.EVENTTARGET为空或不是对象
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表